python - Django,过滤不同的外键,其中一个结果等于一个值

标签 python django django-models

我正在创建一个电视网站,其中有“人物”和“电视人”表,第一个表用于 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/

相关文章:

python - 如果没有找到对象,Django 将返回什么?为什么我会得到DoesNotExist

python - 如何创建只有服务器对客户端进行身份验证的 Python SSL 客户端/服务器对

python - 在 python 中创建 NamedTemporaryFile 时出现 ValueError

python - 使用 pyMCMC/pyMC 将非线性函数拟合到数据/观察值

python - pyopencl global_work_offset 内核参数

python - 在异常时覆盖 django-rest-framework 中接受的渲染器

python - 如何在 Django Rest Framework 中获取模型方法的值?

django - mod_wsgi 无法连接 WSGI 守护进程

python - Django formset 为多张图片上传创建多个输入

Django ModelForm ImageField Upload 不适用于移动设备