Подтвердить что ты не робот

Как насчет наличия SingletonModel в Django?

Я делаю очень простой сайт в Django. На одной из страниц имеется вертикальная коробка с тикером. Мне нужно предоставить клиенту способ редактировать содержимое блока тикера как HTMLField.

Первым способом, который пришел на ум, было создание модели Ticker, которая будет иметь только один экземпляр. Затем я подумал, что вместо того, чтобы вручную убедиться, что существует только один экземпляр, возможно, существует (или должно быть) что-то вроде класса SingletonModel в Django, который похож на обычную модель, за исключением того, что он обеспечивает не более одного экземпляра создается?

Или, может быть, я должен решить мою проблему по-другому?

4b9b3361

Ответ 1

Попробуйте django-solo, он работает в django 1.5 + наверняка, django-singletons не работает с 1,5 +, поскольку использует устаревшую функцию.

Ответ 2

Вы можете использовать django_singletons. Он имеет встроенную поддержку администратора.

Ответ 3

Я думаю, что "синглетная" модель уродлива; это глупое использование реляционной базы данных и плохой пользовательский интерфейс, потому что пользовательский интерфейс администратора построен вокруг работы со списками объектов.

Вместо этого я предпочитаю использовать общее решение, например django-chunks или django-flatblocks для этого.

Ответ 4

перепишите свой метод сохранения, чтобы каждый раз, когда объект Ticker сохранялся, он перезаписывает существующий (если он существует).

Ответ 5

Модель с одним экземпляром, singleton, когда-нибудь полезна для таких вещей, как глобальные настройки, которые вы хотите отредактировать из admin, вместо того, чтобы иметь их в настройках Django.py.

Существует несколько сторонних приложений, которые помогают реализовать модели singleton и, например, улучшить интерфейс администратора, django-solo, django-singleton-admin, django-singletons.