Пользовательская функция валидации django

я написал функцию validaiton для атрибута правильно ли это и как мне написать для того же атрибута с blank = True и add_1 является обязательным полем любые условия для добавления

add_1 = models.CharField(max_length=255)
add_2 = models.CharField(max_length=255, blank=True)

Примечание: Все валидаторы должны возвращать True или False

validators.py

def validate_add_1(value):
    if value is not None:
        try:
            if len(value) <= 255:
                return True
        except ValidationError:
            return False

Согласно Model Reference, когда вы добавляете атрибут "blank=True" к любому полю модели, это поле становится необязательным. Если вы хотите, чтобы поле было обязательным, не указывайте атрибут blank, поскольку по умолчанию используется значение blank=False.

Для валидатора, я не уверен, что вы пытаетесь сделать, но вы можете попробовать что-то вроде этого:

def validate_add_1(value):
    val_len = False if len(value) > 255 else True
    # Return True if value is not blank/null and length of value <= 255
    return True if val_len and (value and value != '') else False
def validate_add_2(value):
    val_len = False if len(value) > 255 else True
    return True if value == '' or (value and val_len) else False

работает ли это?

Вернуться на верх