django prefetch_related 查询之后,模板层如何使用?

prefetch_related查询出来的数据,在模板层如何调用?

阅读 1.4k
1 个回答
class Author(models.Model):
    name = models.CharField(max_length=100)

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books')

然后,用 prefetch_related 来获取所有作者和他们的书:

def author_list(request):
    authors = Author.objects.all().prefetch_related('books')
    return render(request, 'author_list.html', {'authors': authors})

author_list.html ;:


{% for author in authors %}
    <h2>{{ author.name }}</h2>
    <ul>
        {% for book in author.books.all %}
            <li>{{ book.title }}</li>
        {% endfor %}
    </ul>
{% endfor %}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题