gpt4 book ai didi

python - Django 预取嵌套表

转载 作者:行者123 更新时间:2023-11-29 02:01:28 24 4
gpt4 key购买 nike

我有以下表结构:

menu --{ page --{ title

我想从菜单中获取相关页面。页面也有相关的标题。以下代码完全按照我的意愿工作,但是 for 循环每次迭代都会生成一个单独的查询。

初始查询中的 prefetch_related 似乎没有获取标题。有没有更好的方法可以减少查询数量?

 menu_data = MenuOrder.objects \
.filter(menu__name=kwargs['menu']) \
.filter(page__title_set__language=language) \
.prefetch_related('page') \
.order_by('priority')

for menu_obj in menu_data:
title_obj = menu_obj.page.title_set.get()

提前致谢

最佳答案

你可以试试:

.prefetch_related('page__title')

Quoting prefetch-related doc :

以下都是合法的:

Restaurant.objects.prefetch_related('pizzas__toppings')

此外,请记住,对于 reduce 查询,您应该使用 select_related

关于python - Django 预取嵌套表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13894702/

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