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