gpt4 book ai didi

python - 从 Django QuerySet 获取所有相关的多对多对象

转载 作者:太空狗 更新时间:2023-10-29 17:29:01 24 4
gpt4 key购买 nike

我有一个由相互关联的 Django 模型组成的曲折迷宫,其中包含描述关系的多对多字段。

从查询集中获取相关模型的唯一成员列表的最简洁方法是什么?

如果我有一个 Item 模型,其中包含指向 Groups 模型的 ManyToMany 组。

如果我有一个项目查询集,“项目”,我如何得到这个:

groups = items[0].groups.all().values_list('name', flat=True)

但对于整个系列?我是否需要遍历它们并执行 set().intersect() ?

最佳答案

一种解决方案是使用 2 个查询。

您可以使用反向关系查询您的 items 中的 Item 指向的所有 Group

groups = groups.objects.filter(item__in=items).distinct().values_list('name', flat=True)

关于python - 从 Django QuerySet 获取所有相关的多对多对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4823601/

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