Как добавить класс администратора в модель после syncdb? - PullRequest
0 голосов
/ 26 февраля 2010

Я добавил несколько моделей в мой models.py и хочу добавить класс администратора для использования wysiwyg-редактора в текстовых полях.
Что ж, я знаю, что сам Django не поддерживает миграции, и яиспользуется Юг, но он также не работает.
Юг не «видит» изменения.
Может ли быть так, что Юг просто обнаруживает изменения в полях, но не если я добавлю новый класс?
Как я могу настроить Django для обнаружения таких изменений?

Ответы [ 3 ]

2 голосов
/ 26 февраля 2010

syncdb и Юг относятся только к потомкам Model в приложениях, перечисленных в INSTALLED_APPS. Все остальное обрабатывает Django напрямую.

1 голос
/ 26 февраля 2010

Вы, кажется, очень смущены, к сожалению. Конечно, Django читает код в models.py - иначе какой в ​​этом смысл? Django изначально использует этот код для определения модели SQL при выполнении syncdb, но не изменяет существующую базу данных таблиц при последующих вызовах syncdb - отсюда необходимость в South.

Но, естественно, Django использует models.py и admin.py и весь другой код Python для определения своей собственной конфигурации и состояния. (И обратите внимание, что административные классы определены не в models.py, а в admin.py.)

Если вы не видите изменений, вам нужно будет перезагрузить сервер.

1 голос
/ 26 февраля 2010

Я совершенно уверен, что если вы выполните действия, описанные в руководстве, для создания приложения администратора, оно будет работать. Миграция не является проблемой, поскольку приложение администратора создает новые таблицы, а не изменяет существующую.

...