AppEngine / Django:在Admin应用程序中编辑db.Key

时间:2009-10-03 10:25:24

标签: django google-app-engine app-engine-patch

或者,确切地说,如何在模型管理页面上使用app-engine-patch为Django正确呈现表单以编辑db.Keys的db.ListProperty?

我有Category这样:

class Category(db.Model):
    title = db.CategoryProperty(required=True)

以及Post与此:

categories = db.ListProperty(db.Key)

目前在Django管理页面中,该字段显示为包含Python列表对象字符串的文本框,这是错误的并且打破了保存:

[datastore_types.Key.from_path(u'blog_category', 3L, _app_id_namespace=u'xyz')]

所以我必须在我的ModelAdmin类中“排除”它。我想过编写一个ModelForm,手动连接类别db.Keys并将它们呈现为Django多选小部件,但我怀疑有更简单的方法可以做到这一点......

1 个答案:

答案 0 :(得分:0)

通过更全面地阅读App-engine-patch文档,似乎使用ragendja.dbutils.KeyListProperty使用旧的Django多选列表来回答这个问题。 :)

新代码:

categories = KeyListProperty(Category)