дифференцировать нуль = True, пусто = True в Django

Из стандарта JSON :

Объект представляет собой неупорядоченный набор из нулей или более пар пар имя / значение, где имя является строкой, а значение равно строка, число, логическое значение, нуль, объект или массив.

blockquote>

(выделение мое).

Итак, нет, вы не можете гарантировать заказ.

771
задан Serjik 19 December 2015 в 07:36
поделиться

3 ответа

для ПУСТОГО УКАЗАТЕЛЯ == TRUE

    The default value of both null and blank is False. Both of these values work
 at field level i.e., whether we want to keep a field null or blank.

        null=True will set the field’s value to NULL i.e., no data. It is 
basically for the databases column value.


        date = models.DateTimeField(null=True)

для ПРОБЕЛА == хит TRUE

    blank=True determines whether the field will be required in forms. This 
includes the admin and your own custom forms.

    title = models.CharField(blank=True) // title can be kept blank. In the 
database ("") will be stored.

upvote, если Вы находите это полезным

1
ответ дан Mohit Verma 29 August 2019 в 16:55
поделиться

Значения по умолчанию пустого указателя и пробела являются Ложью.

Пустой указатель: Это связано с базой данных. Определяет, если данный столбец базы данных примет нулевые значения или нет.

Пробел: Это связано с проверкой. Это будет использоваться во время проверки форм при вызове формы is_valid ().

Однако это прекрасно подходит, чтобы иметь поле с null=True и blank=False. Значение на базе данных выравнивается, поле может быть ПУСТЫМ, но на прикладном уровне это - обязательное поле.

Теперь, где большинство разработчиков понимает его превратно: Определение null=True для основанных на операция со строками полей, таких как CharField и TextField. Постарайтесь не делать это. Иначе Вы закончите тем, что имели два возможных значения для “no data”, который является: Ни один и пустая строка. При наличии двух возможных значений для “no data” избыточен. Конвенция Django состоит в том, чтобы использовать пустую строку, не ПУСТУЮ.

0
ответ дан sharif_42 29 August 2019 в 16:55
поделиться
  • 1
    Это делает то, в чем я нуждался и помимо it' s намного более чистый – Samuel Rossille 13 December 2013 в 13:13

пустой указатель для базы данных и , пробел для полевой проверки, которую Вы хотите показать в пользовательском интерфейсе как текстовое поле для получения фамилии человека. Если lastname=models.charfield (blank=true) это не попросило, чтобы пользователь ввел фамилию, поскольку это - дополнительное поле теперь. Если lastname=models.charfield (null=true) затем это означает, что, если это поле doesnot получает какое-либо значение от пользователя затем, это сохранит в базе данных как пустая строка "".

0
ответ дан 22 November 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: