【发布时间】:2013-01-17 03:56:56
【问题描述】:
class User(db.Model):
username = db.StringProperty(required=True)
password = db.StringProperty(required=True)
email_address = db.StringProperty()
class TaskPost(db.Model):
user = db.ReferenceProperty(User, collection_name='taskposts')
category = db.StringProperty()
title = db.StringProperty(required=True)
尝试使用与实体的一对多关系。 如果您添加帖子,它将与用户相关联。
user = User(username=self.request.cookies.get("username"))
TaskPost(user=user,others=others).put()
File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py", line 641, in validate
raise BadValueError('Property %s is required' % self.name)
BadValueError: Property password is required
所以这似乎不是将用户表与帖子相关联的最佳方式,因为用户在发布时不应该输入密码。有人有更好的方法吗?提前致谢。
【问题讨论】:
-
您实现自己的用户对象有什么原因吗?
-
使用会话,对其进行散列,将其加密存储在带有一些种子的cookie中等等。
-
我希望能够创建具有头像和其他值的用户配置文件。创建自己的用户对象似乎更容易。
标签: python google-app-engine google-cloud-datastore