首页 > 解决方案 > 如何在 Django ManyToMany 关系中返回两个相关模型的字段?

问题描述

我有两个模型:

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 中做到这一点?

标签: pythondjangodjango-modelsmany-to-many

解决方案


尝试values_list 文档

F.objects.values_list('name', 'p__name')

推荐阅读