Django: переопределить параметры унаследованных полейPython

Программы на Python
Ответить
Anonymous
 Django: переопределить параметры унаследованных полей

Сообщение Anonymous »

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

Код: Выделить всё

# behaviors.py

from django.db import models
from colorfield.fields import ColorField

class Representable(models.Model):
color = ColorField(_("color in the app"), blank=True)
icon = models.CharField(_("icon in the app"), max_length=50, blank=True)

class Meta:
abstract = True

Код: Выделить всё

# models.py

from django.db import models
from .behaviors import Representable

class Item(Representable, models.Model):
name = models.CharField(_("name"), max_length=50, blank=False)
# color couldn't be blank
# icon couldn't be blank

class Meta:
verbose_name = _("item")
verbose_name_plural = _("items")

class Tag(Representable, models.Model):
name = models.CharField(_("name"), max_length=200, blank=False, unique=True)
# color default value shoud be #00AEC7 (but could be blank)
# icon default value shoud be mdi-label (but could be blank)

class Meta:
verbose_name = _("tag")
verbose_name_plural = _("tags")
Есть идеи?


Подробнее здесь: https://stackoverflow.com/questions/695 ... ld-options
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»