gpt4 book ai didi

python - 在 Django 查询中使用 values() 来获取模型而不是 ID

转载 作者:行者123 更新时间:2023-12-05 01:02:41 24 4
gpt4 key购买 nike

我在 Django 中有以下设置

class Class1(Model):

search_field = IntegerField()
field2 = ForeignKey(Class2)

class Class2(Model):

field3 = ForeignKey(Class3)

class Class3(Model):

#lots of useful stuff...

我正在 Class1 中进行查询,目的是取回 Class3 的实例,但是 Class1Class2 有很多我不想加载的信息,所以我想使用 values (或者让我更有效地执行此操作的东西)。我做类似的事情

q = Class1.objects.filter(search_field=search_criteria).values('field2__field3').latest()

但是当这回来时,我得到一个看起来像这样的字典:

{'field2__field3': ID}

其中 IDClass3 实例的键。有没有办法直接从 values(或其他一些查询实用程序)获取类的实例?

最佳答案

Django 查询的一个简单规则是始终查询您想要返回的内容。所以如果你想要一个 Class3,就用它开始你的查询。

Class3.objects.filter(class2__class1__search_field=search_criterion).latest()

关于python - 在 Django 查询中使用 values() 来获取模型而不是 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28993293/

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