Отображение пользовательских меток для значений на сайте администратора Django - PullRequest
0 голосов
/ 21 июля 2010

У одной из моих моделей есть поле «статус», которое только когда-либо изменяется в коде.Это целое число от 1 до 6 (хотя это может измениться в будущем).

Однако на сайте администратора я хотел бы отобразить метку для этих данных.Таким образом, вместо отображения «5» я бы хотел сказать «Ошибка».Это означает, что я мог бы легко фильтровать объекты в базе данных, которые имеют статус «Ошибка», а также мои коллеги, которые не знают, что означает каждый статус, поскольку они не участвуют в кодировании, могут в полной мере использовать сайт администратора..

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

Ответы [ 2 ]

4 голосов
/ 21 июля 2010

Рассмотрите возможность использования вариантов . В любом случае, вы можете настроить множество вещей в django-admin, просто прочитайте документы:

http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display

http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.form

0 голосов
/ 21 июля 2010

Вы можете создать пользовательский тип поля, который переопределяет to_python и get_prep_value, чтобы хранить целые числа в БД, но использовать строковые значения в Python:

http://docs.djangoproject.com/en/dev/howto/custom-model-fields/#django.db.models.django.db.models.Field

...