Перейти к основному содержимому

Представление

Добавлено в 1.0.1

Эти 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:

  • DateInput
  • TimeInput
  • DateTimeInput / SplitDateTime

Отдельный option не нужен. Виджеты идут вместе с миксином.

См. также