gpt4 book ai didi

python - Django:快速检索 manyToMany 字段的 ID

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

我在 Django(使用 Postgres)中有以下模型模式。

class A(Models.model):
related = models.ManyToManyField("self", null=True)

给定 A 的 QuerySet,我想返回一个字典,将 QuerySet 中 A 的每个实例映射到其 相关的 id 列表 尽可能快地实例化。

我当然可以遍历每个A并查询相关字段,但有没有更优化的方法?

最佳答案

根据你有三个实例。您可以使用 values_list 方法仅检索结果,并从该结果中仅获取其相关 实例的 ID。我使用 pk 字段作为我的过滤器,因为我不知道你的方案,但你可以使用任何东西,只是必须是一个 QuerySet

>>> result = A.objects.filter(pk=1)
>>> result.values('related__id')
[{'id': 2}, {'id': 3}]
>>> result.values_list('related__id')
[(2,), (3,)]
>>> result.values_list('related__id', flat=True)
[2, 3]

关于python - Django:快速检索 manyToMany 字段的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17388254/

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