gpt4 book ai didi

django 我可以在评估的查询集上使用 prefetch_related 而无需重做初始查询吗

转载 作者:行者123 更新时间:2023-12-04 18:02:31 28 4
gpt4 key购买 nike

考虑这段代码

users = UserProfile.objects.all()[:10]
# evaluate the query set
users_list = list(users)

users = users.prefetch_related('posts')

我想知道在评估后对查询集使用 prefetch_related 是否会在 UserProfile 模型上重复查询。谢谢。

最佳答案

没有。直到您再次评估它,因为它无法神奇地从数据库中提取额外数据。

>>> from django.db import connection
>>> from app.models import Foo
>>> bar = Foo.objects.all()[:1]
>>> len(connection.queries)
0
>>> bar_list = list(bar)
>>> len(connection.queries)
1
>>> bar = bar.prefetch_related('thing')
>>> len(connection.queries)
1
>>> bar_list = list(bar)
>>> len(connection.queries)
2

关于django 我可以在评估的查询集上使用 prefetch_related 而无需重做初始查询吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32742651/

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