Из-за спецификации HTML флажков они отправляют значение только при проверке. Цитата из спецификации HTML 4:
Когда форма отправлена, только «включенные» элементы управления флажками могут стать успешными.
У вас нет возможности определить, отсутствует лизначения означают, что он просто отсутствует или является ложным.
NullBooleanField
позволяет вам сделать это различие, но он не может использовать флажок из-за спецификаций HTML, поэтому он должен вернуться к раскрывающемуся списку, чтобы предложитьвыбор между ложным значением и отсутствием значения.