我在app引擎上托管了一个应用。它有一些字段以及UserProperty(),如下所示:
class Post(db.Model):
title = db.StringProperty(required=True)
created_by = db.UserProperty(required=True)
...#some other fields
我正在尝试按created_by字段过滤记录,以便app显示由登录用户创建的记录。我试过了:
p = Post.all()
p.filter('created_by =', users.get_current_user())
哪个不行。请帮忙。
答案 0 :(得分:1)
如果您的登录用户没有单独的模型,则应该在帖子中存储user_id
而不是email
,因为前者更独特。
只需在Post
class Post(db.Model):
title = db.StringProperty(required=True)
created_by = db.UserProperty(required=True)
user_id = db.StringProperty(required=True)
...
在Post
创建时,请执行以下操作:
post_db = Post(title='Hello world',
created_by=users.get_current_user(),
user_id=users.get_current_user().user_id())
现在,如果您想要显示登录用户发布的所有帖子,您应该:
p = Post.all()
p.filter('user_id =', users.get_current_user().user_id())