fix for validators inheritance

This commit is contained in:
collerek
2021-10-15 10:39:41 +02:00
parent 7f0eee2936
commit 851fe0c14f
2 changed files with 73 additions and 4 deletions

View File

@ -303,11 +303,10 @@ def populate_choices_validators(model: Type["Model"]) -> None: # noqa CCR001
"""
fields_with_choices = []
if not meta_field_not_set(model=model, field_name="model_fields"):
if hasattr(model, "_choices_fields"):
return
model._choices_fields = set()
if not hasattr(model, "_choices_fields"):
model._choices_fields = set()
for name, field in model.Meta.model_fields.items():
if check_if_field_has_choices(field):
if check_if_field_has_choices(field) and name not in model._choices_fields:
fields_with_choices.append(name)
validator = make_generic_validator(generate_validator(field))
model.__fields__[name].validators.append(validator)