我有一个相当复杂的模型设置:
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]
有没有更清洁的方式?我觉得应该有一种“提取('类别')”,我可以在查询集上调用... 任何想法将不胜感激!!!!
答案 0 :(得分:3)
试试这个:
categories = tournament_object.evaluation_set.distinct( 'category' ).values_list('categoria', flat=True)
详细了解values_list
here