gpt4 book ai didi

python - 返回两个模型的多对多字段中的 django 用户

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:41 25 4
gpt4 key购买 nike

我有模型:

class Project(models.Model):
project_collaborators = models.ManyToManyField(User)

class Node(models.Model):
collaborators = models.ManyToManyField(User)
project = models.ForeignKey(Project)

假设我拥有节点的 pk,我希望获得所有节点协作者和项目协作者的用户。我需要什么查询?

最佳答案

from django.db.models import F
User.objects.filter(node__pk=node.pk, project=F('node__project'))

应该 工作。还没有测试过。如果没有,您也可以试试这个:

User.objects.filter(node__pk=node.pk, project__node__pk=node.pk)

假设它们 有效,您可能想在 django-debug-toolbar 中尝试两者的 debugsqlshell 管理命令来查看每个产生什么样的查询以及哪个可能更有效。

关于python - 返回两个模型的多对多字段中的 django 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8404512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com