我有这个简单的模型:传递对象包括模板
class Book(models.Model):
title = models.CharField(max_length=100)
description = models.TextField(max_length=1500)
page_count = models.PositiveSmallIntegerField()
author = models.CharField(max_length=50)
我想使这个模型对象(传递给模板book_copies
)的列表。
我(简体)模板:
# 'books/list.html'
<div>
{% for copy in book_copies %}
{% include 'books/book.html' with book=copy only %}
{% endfor %}
</div>
和
# 'books/book.html'
<p>
{{ book.title }} - {{ book.author }}
</p>
看来,模板变量copy
传递到包括模板Book
模型的str
表示。因此,我无法访问其字段,例如title
或author
。
是否可以传递模型对象而不转换为包含模板?
这是不对的,应该传递的对象是。你确定'book_copies'实际上是一个实例列表吗?你能说明你是如何得到它的吗? –
'context ['book_copies'] = Book.objects.all()' – Nuurek