AppEngine / Django: редактирование db.Key в приложении Admin - PullRequest
0 голосов
/ 03 октября 2009

Или, если быть точным, как правильно представить форму для редактирования db.ListProperty db.Keys на странице администратора модели с патчем app-engine-patch для Django?

У меня есть 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, который вручную соединял бы Category db.Keys и представлял их как виджет множественного выбора Django, но я подозреваю, что есть более простые способы сделать это ...

1 Ответ

0 голосов
/ 03 октября 2009

Более внимательно прочитав документы App-engine-patch, кажется, что использование ragendja.dbutils.KeyListProperty решает эту проблему, также как и со старым множественным списком Django. :)

Новый код:

categories = KeyListProperty(Category)
...