根据列选择表的不同条目

时间:2015-07-19 05:01:52

标签: python google-app-engine gql

我的博客模型:

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 %}

我无法想到其他任何方法。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

看起来categories列表中的某个项目缺少title属性,该属性在模型中标记为required=True。要么该项目不是真正的BlogEntry,要么它以某种方式被破坏(可能在模型修改之前创建以包含title属性或其required标志集 - 否则它将在对象创建时引起异常)。