Представление
Эти options меняют вид полей на changelist и форме изменения. Маршруты они
не добавляют. Mixin генерирует display-методы в __init__ и переписывает
совпадающие имена в list_display.
Полные таблицы полей: каталог options.
Badge-поля
from django_chassis.enums import ButtonColor
from django_chassis.options import BadgeFieldsOption
BadgeFieldsOption(fields=['status'], colors={'status': {'active': ButtonColor.SUCCESS, 'draft': ButtonColor.SECONDARY}})
| Параметр | Тип | По умолчанию |
|---|---|---|
fields | имена полей для badge | обязательный |
colors | поле → значение → ButtonColor | пустой mapping |
Pretty JSON
Заменяет указанные JSON-поля на read-only вывод с подсветкой синтаксиса (Pygments).
from django_chassis.options import PrettyJsonOption
PrettyJsonOption(fields=['payload'])
Decimal-суммы
Показывает целочисленные поля в минорных единицах через два метода на
модели: _get_fraction_number и convert_amount_to_decimal. Если
любого нет, option игнорируется. Перечисленные имена должны быть
IntegerField, иначе ImproperlyConfigured. Повтор имён — ValueError.
Используйте, когда деньги хранятся как integer.
from django_chassis.options import DecimalAmountOption
DecimalAmountOption(fields=['amount'])
Виджеты даты и времени
ChassisAdminMixin ставит masked-виджеты для полей date, time и datetime:
DateInputTimeInputDateTimeInput/SplitDateTime
Отдельный option не нужен. Виджеты идут вместе с миксином.