我的博客模型:
class BlogEntry(tzsearch.SearchableModel):
"""Models an blog entry."""
title = db.StringProperty(required=True, indexed=True)
category = db.StringProperty(default="Uncategorised", indexed=True)
content = db.TextProperty(required=True)
date = db.DateTimeProperty(auto_now_add=True)
现在我想在网页上显示类别。所以这就是我在观点中所做的:
class CategoriesMainPage(webapp2.RequestHandler):
def get(self):
categories = db.GqlQuery("SELECT distinct category FROM BlogEntry")
print categories.count()
template_values = {
'categories':categories,
}
template = JINJA_ENVIRONMENT.get_template('categories_index.html')
self.response.write(template.render(template_values))
当我迭代'类别时,我会收到错误。在我的模板中。这是我得到的错误:
BadValueError: Property title is required
我的模板:
{% for category in categories %}
<div class="col-sm-6 col-md-2 separate-post-item">
<div class="thumbnail">
<div class="caption">
<a href="/category/{{ category.category }}">{{ category.category }}</a>
</div>
</div>
</div>
{% endfor %}
我无法想到其他任何方法。有什么帮助吗?
答案 0 :(得分:0)
看起来categories
列表中的某个项目缺少title
属性,该属性在模型中标记为required=True
。要么该项目不是真正的BlogEntry,要么它以某种方式被破坏(可能在模型修改之前创建以包含title
属性或其required
标志集 - 否则它将在对象创建时引起异常)。