gpt4 book ai didi

django - 在现有 Django 查询中获取外键的不同对象

转载 作者:行者123 更新时间:2023-12-03 11:02:42 24 4
gpt4 key购买 nike

考虑以下多对一关系。用户可以拥有许多小部件:

class Widget(models.Model):
owner = models.ForeignKey('User')

class User(models.Model):
pass

我有一个相当复杂的查询,它返回一个小部件查询集。从中我想列出 User 的不同值。

我知道我可以循环我的小部件并使用 .values('owner') 拉出用户或 {% regroup ... %}但是数据集很大,我想在数据库中执行此操作,因此它实际上第一次返回的是用户而不是小部件。

迄今为止,我最好的主意是取出 .values_list('owner', flat=True)然后做一个 User.objects.filter(pk__in=...)使用那个。这将它拉回到两个查询,但这似乎仍然超出了它的需要。

有任何想法吗?

最佳答案

使用向后关系:

User.objects.distinct().filter(widget__in=your_widget_queryset)

关于django - 在现有 Django 查询中获取外键的不同对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27979947/

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