Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AppEngine/Django:在管理应用程序中编辑db.Key_Django_Google App Engine_App Engine Patch - Fatal编程技术网

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

AppEngine/Django:在管理应用程序中编辑db.Key,django,google-app-engine,app-engine-patch,Django,Google App Engine,App Engine Patch,或者,更准确地说,我如何使用适用于Django的应用程序引擎补丁在模型管理页面上正确地呈现一个表单来编辑db.Keys的db.ListProperty 我有这样一个类别: class Category(db.Model): title = db.CategoryProperty(required=True) 还有一个帖子是这样写的: categories = db.ListProperty(db.Key) 当前在Django管理页面中,该字段显示为包含Python列表对象字符串的文本

或者,更准确地说,我如何使用适用于Django的应用程序引擎补丁在模型管理页面上正确地呈现一个表单来编辑db.Keys的db.ListProperty

我有这样一个类别:

class Category(db.Model):
    title = db.CategoryProperty(required=True)
还有一个帖子是这样写的:

categories = db.ListProperty(db.Key)
当前在Django管理页面中,该字段显示为包含Python列表对象字符串的文本框,这是错误的,会中断保存:

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

所以我不得不在ModelAdmin类中“排除”它。我曾想过编写一个模型表单,手动连接类别db.Keys并将其作为Django multiselect小部件呈现,但我怀疑有更简单的方法来实现…

更彻底地阅读了应用程序引擎补丁文档,似乎使用ragendja.dbutils.KeyListProperty解决了这个问题,还有老的Django选举名单:

新代码:

categories = KeyListProperty(Category)