0

我有一个相当复杂的模型设置:

class Tournament(models.Model):
     pass

class Category(models.Model): 
    pass

class Discipline(models.Model):
    pass

class Judge(models.Model):
    pass

class Evaluation(models.Model):
    tournament = models.ForeignKey(Tournament)
    judge = models.ForeignKey(Judge)
    discipline = models.ForeignKey(Discipline)
    category = models.ForeignKey(Category)

当然,这些模型是不完整的,但它们的内容对于问题并不重要......给定一个锦标赛,我需要获得不同的“类别”对象,以及为每个这些对象评估的“学科”。

我试过这个:

eval_set = tournament_object.evaluation_set.distinct('category')
categories = [jdgt.categoria for jdgt in eval_set]

没有更干净的方法吗?我觉得应该有一种我可以在查询集上调用的“提取('类别')”......任何想法都会受到赞赏!!!!

4

1 回答 1

3

尝试这个:

categories = tournament_object.evaluation_set.distinct( 'category' ).values_list('categoria', flat=True)

在这里阅读更多values_list

于 2013-11-04T23:50:33.043 回答