Модель булевого поля не отображает значение по умолчанию False
У меня есть модель class
, в которой переменная completed_application
должна по умолчанию принимать значение False
при создании нового пользователя (чтобы показать, что пользователь еще не заполнил заявку). Однако, по умолчанию, когда создается новый пользователь, в админке Django он не отображается как False
, а вместо этого отображается '-'.
models.py:
class Completed(models.Model):
class Meta:
verbose_name_plural = 'Completed Application'
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
completed_application = models.BooleanField(default=False)
admin.py:
class Company(admin.StackedInline):
model = Completed
can_delete: False
verbose_name_plural = 'Completed Application'
class UserAdmin(UserAdmin):
list_display = ('username', 'first_name', 'last_name', 'email', 'company', 'completed')
search_fields = ('username', 'email',)
inlines = [Company]
list_filter = ('is_active',)
fieldsets = (
(None, {'fields': ('username', 'password')}),
(('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
(('Permissions'), {
'fields': ('is_active', 'is_staff', 'groups',),
}),
(('Important dates'), {'fields': ('last_login', 'date_joined')}),
)
Красная стрелка на первом изображении выше указывает на панель администратора Users для вновь созданного пользователя. Второе изображение показывает отдельного пользователя в админке Django с пользовательской моделью, добавленной для этого пользователя.
Другой момент: при установке флажка и сохранении пользователя он показывает True
(как и следовало ожидать), но при снятии флажка и сохранении пользователя он в итоге показывает False
, а не '-'.
Может кто-нибудь объяснить, что означает это '-' и как сделать так, чтобы модель всегда показывала False при создании?
Я полагаю, что это cant_delete, который передается false, попробуйте удалить его
Из документации, can_delete
должно быть can_delete=False
, а не can_delete:False