【发布时间】:2017-07-06 21:50:12
【问题描述】:
我正在尝试实现一个简单的功能来点赞帖子。 我有 4 个使用 Google App Engine 定义的模型;用户、博文、赞、评论
下面是sn-ps:
class LikePost(db.Model):
user = db.ReferenceProperty(User)
blogpost = db.ReferenceProperty(Blogpost)
date = db.DateTimeProperty(auto_now_add = True)
class Comment(db.Model):
user = db.ReferenceProperty(User)
blogpost = db.ReferenceProperty(Blogpost)
content = db.TextProperty(required = True)
date = db.DateTimeProperty(auto_now_add = True)
我尝试使用以下方法调用该方法来点赞帖子:
class LikePost(Handler):
def get(self,post_id):
blogpost = self.get_blogpost(post_id)
user = self.get_user_object()
if blogpost and user:
like = LikePost(user = user, blogpost = blogpost)
like.put()
self.redirect('/%s' % post_id)
else:
self.redirect('/login')
方法参考如下:
def get_user_object(self):
cookie = self.request.cookies.get('user_id')
if cookie:
user_id = check_secure_val(cookie)
if user_id:
user_id = cookie.split('|')[0]
key = db.Key.from_path('User', int(user_id))
user = db.get(key)
return user
def get_blogpost(self, post_id): key = db.Key.from_path('Blogpost', int(post_id)) 博文 = db.get(key) 返回博文
尝试运行上述内容时出现错误:
__init__() got an unexpected keyword argument 'blogpost'
任何人都可以解释出了什么问题?
【问题讨论】: