考虑一个带有 Publishers 表和 Books 表的 shema,这样
def Publisher(models.Model):
city = models.CharField()
...
def Book(models.Model):
title = models.CharField()
publisher = models.ForeignKey(Publisher)
在我的模板中,我希望显示某些出版商及其所有书籍的列表。在我的视图功能中,我使用类似的东西获取所需的发布者
publishers=Publisher.objects.filter(city='NY')
然后在我看来,我遍历 publishers 和 publishers.book_set.all 一样
{% for p in publishers %}
....
{% for b in p.book_set.all %}
这按预期工作,只是它显然像无数次一样击中数据库。
如何优化代码以使 django 只访问 db 一次或两次?