我正在创建一个电视网站,其中有“人物”和“电视人”表,第一个表用于 Actor 信息,第二个表用于有关他们制作的节目中的出场信息。
同一个 Actor 在一个节目中可能会多次出现,因此会有多个电视人。我想显示字段值为“in_summary”=true 的电视人的摘要
目前我有:
cast_summary = tvpeople.filter(in_summary=True)
然而,其输出会带来多个相同的电视人,例如
John Doe
John Doe
John Doe
基于“tvpeople.people.name”的不同值,我不想收集多个相同的人。
以下结果会导致有关选择无效的错误:
cast_summary = tvpeople.filter(in_summary=True).distinct('people.name')
有什么想法可以做到这一点吗?谢谢
最佳答案
在 Django 中,traversing relationship is done using __
, not .
:
假设 tvpeople
具有 people
属性,则查询将为:
t_summary = tvpeople.filter(in_summary=True).distinct('people__name')
不过,在问题中发布模型中的相关代码会有所帮助。
关于python - Django,过滤不同的外键,其中一个结果等于一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18473656/