Найти - Пользователи
Полная версия: Значение поля BooleanField по умолчанию в Django
Начало » Django » Значение поля BooleanField по умолчанию в Django
1
vadval15
Насколько мне известно, в Django значение поля BooleanField по умолчанию в модели - None, а в форме - False, то есть в первом случае имеются три варианта значения поля, а во втором - два. Каким же является значение по умолчанию поля Boolean формы, образованной от модели с соответствующим полем? Буду признателен за разъяснение данного вопроса.
ZerG
Все довольно таки банально.
Сама БД имеет структуру данного вида с трема вариантами
Истина,Ложь,Не указано(это если примитивно)
Следовательно модель имеет те же варианты. Ведь с моделями мы работаем не тольно через формы.
В момент формирования вашей странички форма генерирует HTML код в котором
содержится поле данного типа. И при сабмите форма должна отправить информацию об этом поле
даже если вы его не касались.
К примеру есть модель:
 class Book:
    name = Char
    present = Bool
Если в форме мы укажем только name, то поле present останется нетронутым и
будет иметь значение None. Если же укажем, то мы уже совершим запись в данное поле и оно будет
иметь значение True или False.
Однако, при создании таблици мы можем указать значение по умолчанию(например False)
Тогда значений None у нас в ней не будет.
vadval15
Спасибо за ответ. Действительно, если кнопка на форме не выбрана, то на сервер ничего не отправляется, а значение соответствующей полю переменной по умолчанию становится равным None.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB