Django:隐藏空单选按钮选项,但仍不允许其为空

时间:2019-09-18 10:06:15

标签: django radiobuttonlist

我有一个大型模型,可以在多个页面上使用。我在forms.py文件中将每个页面设置为单独的表单。在以后的某些表单页面上,我包括单选按钮。根据我在Google上看到的情况,隐藏空单选按钮选项的唯一方法是使单选按钮列表成为必需。就我而言,我在模型中以以下方式执行此操作:enlistment_date_known = models.CharField(max_length=10, choices=BOOL_CHOICES, blank=False, default=None)

问题在于这些单选按钮位于表单的第四页上,因此,当我提交表单的第一页时,出现以下错误:

('23000', "[23000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Cannot 
insert the value NULL into column 'enlistment_date_known', table 
'LSPIntake_lonesoldier'; column does not allow nulls. INSERT fails. (515) 
(SQLExecDirectW); [23000] [Microsoft][ODBC Driver 17 for SQL Server][SQL 
Server]The statement has been terminated. (3621)")

是否有一种方法可以使单选按钮的值在数据库中为空,但仍隐藏第一个空白选项? 也许是通过在表单中​​而不是模型中设置所需的单选按钮?

1 个答案:

答案 0 :(得分:0)

我明白了!

我刚刚添加了null=True和其他参数。 现在,模型中的字段声明如下所示:

enlistment_date_known = models.CharField(max_length=10, choices=BOOL_CHOICES, blank=False, null=True, default=None)

如果有人可以解释一下,将不胜感激。不确定我是否完全理解空白和null之间的区别。

相关问题