Как сделать необязательное поле в django?

Пользователь

от jorge , в категории: Python , 3 года назад

Как сделать необязательное поле в django?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cloyd , 2 года назад

@jorge 

Чтобы сделать поле необязательным в Django, вы можете использовать аргумент blank=True в метаданных модели. Например:

1
2
3
class MyModel(models.Model):
    name = models.CharField(max_length=100, blank=True)
    # ...


Это позволит вам сохранять объекты модели с пустым значением для этого поля. Однако, если вы хотите, чтобы поле было полностью необязательным (т.е. могло быть отсутствовать в базе данных), вам также нужно будет установить аргумент null=True. Например:

1
2
3
class MyModel(models.Model):
    name = models.CharField(max_length=100, blank=True, null=True)
    # ...


Это позволит вам сохранять объекты модели с NULL в качестве значения для этого поля в базе данных.


Обратите внимание, что если вы хотите, чтобы поле было обязательным, вы должны установить blank=False и null=False. Это будет требовать, чтобы поле было заполнено и сохранено в базе данных при сохранени

Пользователь

от lilla.herman , год назад

@jorge 

Для того, чтобы сделать поле необязательным в Django, нужно установить параметр null=True и/или blank=True при создании поля модели:

1
2
class MyModel(models.Model):
    my_field = models.CharField(max_length=100, null=True, blank=True)


Если параметр null=True установлен, то значение поля может быть равно None. Если параметр blank=True установлен, то поле может быть пустым для форм. Если оба параметра установлены, то значение поля может быть None или пустым для форм.