Python Can';无法获取具有多对多关系的应用程序引擎模型的计数

Python Can';无法获取具有多对多关系的应用程序引擎模型的计数,python,html,google-app-engine,jinja2,Python,Html,Google App Engine,Jinja2,我想获得单个用户的事件计数 我的模型: class User(db.Model): name = db.StringProperty(required = True) pw_hash = db.StringProperty(required = True) email = db.StringProperty(required = True) class PlaceModel(db.Model): place_name = db.StringProperty(re

我想获得单个用户的事件计数

我的模型:

class User(db.Model):
    name = db.StringProperty(required = True)
    pw_hash = db.StringProperty(required = True)
    email = db.StringProperty(required = True)

class PlaceModel(db.Model):
    place_name = db.StringProperty(required = True)
    place_lat = db.StringProperty(required = True)
    place_long = db.StringProperty(required = True)
    def render(self):
        return render_str("placemodel.html", p = self)

class EventModel(db.Model):
    event_place = db.ReferenceProperty(PlaceModel)
    event_people = db.ReferenceProperty(User)

    event_name = db.StringProperty(required = True)
    event_time = db.StringProperty(required = True)
    def render(self):
        return render_str("eventmodel.html", e = self)
python:

class MainPage(Handler): #render all userevents
    def get(self):
        email = self.session.get('foo')
        user = User.all().filter("email", email).get()
        userevents = EventModel.all().filter("event_people =", user).get()
        self.render("mainpage.html", userevents = userevents)
html:

{%if userevents.count()==0%}
暂时没有活动
{%else%}
{userevents%中事件的%s}
{{event.event_name}
{{event.event_time}
{%endfor%}
{%endif%}

当我运行这个程序时,我得到一个错误,说EventModel对象没有属性计数。如何获得与用户匹配的EventModel实例数?

只需使用
userevents.count
即可获得用户事件数。

通过在
EventModel.all()
查询末尾使用
.get()
即可通过获取第一个值来解析查询。这意味着
userevents
不是带有
count()
方法的查询,而是实际的单个EventModel实例。删除
.get()

我对Jinja不是很了解,但是如果它像Django的模板,那么你需要删除
()
,只留下
userevents.count
Jinja需要()。如果我删除它,我会得到“'EventModel'对象不可编辑”
{%if userevents.count() == 0%}
    <div>no events for now</div>
{% else %}
    {% for event in userevents %}
        {{event.event_name}}
        {{event.event_time}}
    {% endfor %}
{% endif %}