我昨天找到了答案(今天再次找到链接时遇到了一些麻烦)。我看到的链接解决了如何通过重载db.UserProperty来限制对Google App Engine模型实例的访问的问题,如此:
class CurrentUserProperty(db.UserProperty):
def checkCurrentUser(self, value):
if value != users.get_current_user():
raise db.BadValueError(
'Property %s must be the current user' % self.name)
return value
def __init__(self, verbose_name=None, name=None):
super(CurrentUserProperty, self).__init__(
verbose_name, name, required=True,
validator=self.checkCurrentUser)
# then, in the model to have limited access:
def MyModel(db.Model):
owner = CurrentUserProperty()
由于我在找到这个链接时遇到了很多困难,我将打开这个问题(即使问题自行解决)。但是,一般问题是如何在Google App Engine上创建权限系统,以便只有某些用户(例如“所有者”)可以访问模型的特定实例。如果您对此有各自的建议,我会非常喜欢您的想法。
感谢您的阅读。
布赖恩 附:为什么总是得到“你问的问题似乎是主观的,可能会被关闭。”现在每当有人问一个问题?该警告是否应该指向某些客观标准,指出警告的原因?