Django Validation - использование валидатора родительского поля и предоставление значений подклассу

У меня есть абстрактная модель Parent, и подклассы наследуют поле, которое имеет валидатор. Валидатор принимает список, и я хотел бы, чтобы каждый дочерний класс предоставлял свой собственный список для проверки. У меня получилось что-то вроде этого. Есть ли способ сделать это? Не слишком ли я все усложняю?

app1.py

@deconstrutible
class ValidateInList():
   def __init__(self, valid_items):
      self.valid_items = valid_items
   
   def __call__(self, value):
      if value not in self.valid_items:
         raise ValidationError()

class Parent(models.Model):
   field = models.CharField(max_length=20, validators=[ValidateInList(something)])

   class Meta:
      abstract = True

app2.py

class Child1(Parent):
   child_valid_items = [x,y,z] # would take the value of 'something' in Parent class

class Child2(Parent):
   child_valid_items = [a,b,c] # would take the value of 'something' in Parent class
Вернуться на верх