[英]How to return fields of both related models in a Django ManyToMany relation?
我有两个型号:
class P(mdoels.Model):
name = models.CharField(null=False,max_length=120)
...
class F(mdoels.Model):
name = models.CharField(null=False,max_length=120)
...
p = models.ManyToManyField(P)
我需要这样的查询:
SELECT p.name, f.name
FROM f
JOIN f_p ON f.id = f_p.f_id
JOIN p ON p.id= f_p.p_id
我可以使用f.objects.filter()
,但它不返回p
的字段,我只需要显示具有这两个名称的列表。
在psql
,查询的工作方式与我的需要相同。 我怎么能在Django中这样做?
尝试values_list
文档
F.objects.values_list('name', 'p__name')
使用prefetch_related :
F.objects.filter(...).prefetch_related('p')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.