【发布时间】:2011-01-01 04:18:44
【问题描述】:
我有一个要迁移到 Django 中运行的 AppEngine 应用程序,使用 app-engine-patch 来获得 Django 的所有优点 - 特别是管理界面。
我的一个模型(部分)如下所示:
class Request(db.Model):
requestor = db.UserProperty(auto_current_user_add=True)
当我显示基于此模型的表单时,我不显示请求者字段,因此当我调用模型的 put() 方法时,我正在保存的实体没有设置请求者属性。这会触发 auto_current_user_add 魔法,并自动添加创建请求的用户。
在 Django 下,我使用的是提供的用户表。我希望它显示为我的应用程序的用户列表,因此模型变为:
from ragendja.auth.google_models import User
class Request(db.Model):
requestor = db.ReferenceProperty(User)
然而,这打破了管理界面中的auto_current_user_add 魔法——如果管理界面的用户没有为请求者属性输入值,Django 将属性设置为无,而我真的很喜欢请求自动插入他们的用户名。
我怎样才能恢复魔法?
【问题讨论】:
标签: django google-app-engine django-models django-admin