Как изменить отображение поля или создать свой виджет в админке django?

Реализовываю онлайн каталог одежды на Django.

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

Пример
S = 00001 (1)
M = 00010 (2)
L = 00100 (4)
XL = 01000 (8)
XXL = 10000 (16) и т.д
S, M, XXL = 1 + 2 + 16 = 19 (10011)

Как можно превратить это в удобный вариант для модераторов? (Группа чекбоксов, или еще что) Какие есть варианты?

Временный вариант, это поле с выпадающим списком и заранее определенными вариантами.
  • Вопрос задан
  • 1265 просмотров
Решения вопроса 1
Самый простой вариант - создать на каждый размер поле у модели, а в классе админки объединить эти поля в одну строку.

Типа такого

# models.py
class Clothes(models.Model):
    s_size = models.BooleanField()
    m_size = models.BooleanField()
    l_size = models.BooleanField()

# admin.py
class ClothesAdmin(admin.ModelAdmin):
    fields = (
        ('s_size', 'm_size', 'l_size'),
        ...другие поля,
    )
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
etspring
@etspring
Начитанное быдло
Many to one через ForeignKey
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы