Django 查询 select_lated()
我有一个关于 select_lated()
的问题。假设我没有指定深度或属性,即 items = ModelA.objects.selected_lated()
,它是否适用于反向关系,即 items[0].fk_set?
另外,如果我们将 items
传递到上下文中并在 django 模板中使用它,访问模板内 items
的外键是否会访问数据库?
I got a question concerning select_related()
. Assuming I do not specify the depth nor the attributes i.e items = ModelA.objects.selected_related()
, does it work for reverse relationship i.e items[0].fk_set?
Also, if we pass items
into context and use it inside the django templates, will accessing the foreign keys of items
inside the template hit the database?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它不适用于反向关系,会有额外的数据库命中。您可以使用 debug_tolbar 轻松地自行检查。
在哪里评估查询集没有区别:在视图中或在模板中。
It doesn't work for reverse relationship, there will be additional database hit. You can easily check it yourself with debug_tolbar.
There is no difference where to evaluate queryset: in view or in template.