django - 我的 Bollean 字段之一显示为选择(未知/是/否)而不是复选框
问题描述
我有一个无法修复的错误。我在表单中有许多布尔字段,并且所有字段都显示为复选框,但显示为选择列表的字段除外
模型.py
class Psychosocial2(Invalidite):
""" A class to create a psychosocial 2 instance. """
ide = models.AutoField(primary_key=True)
...
ps2_res_pdr = models.BooleanField('Pas de réponse', null=True, blank=True) <- correctly displayed
ps2_res_nap = models.BooleanField("NA", null=True, blank=True) <- displayed as a select
表格.py
...
self.fields['ps2_res_nap'] = forms.BooleanField(label = 'NA',required=False)
...
模板
<tr>
<td></td>
<td colspan="2">
{{ form.ps2_res|as_crispy_field }}
{{ form.ps2_res_pdr|as_crispy_field }}
{{ form.ps2_res_nap|as_crispy_field }} <--
</td>
</tr>
解决方案
根据文档,布尔字段的默认表单小部件是 CheckboxInput,如果 null=True 则为 NullBooleanSelect。所以看起来“冒犯”的人行为正确,真正的问题是为什么其他也有 null = True 的人没有。您是否可以为其他小部件指定小部件,以便不使用默认值?
推荐阅读
- powerbi - 为什么 FILTER 中的 VALUES 会导致恢复过滤器?
- regex - Notepad++ - 如果条件为真,如何替换 1 个字符
- javascript - JavaScript - 大数的除法和乘法
- python - 元组的关键字是什么?
- apache-spark - Kafka 服务器在我的本地计算机上,我的 spark 服务器在 aws 上,我收到错误“找不到数据源:kafka”。
- excel - .Firstpage.Rightheader 带图片的命令不起作用
- android - 尝试使用 NavHostFragment 时出现错误:Error inflating class androidx.fragment.app.FragmentContainerView
- azure - 如何触发 azure acr 任务以通过更改基本图像的标签来构建应用程序图像
- rust - 有没有办法为特定的 HashSet 或 HashMap 覆盖类型的相等和散列函数?
- r - 基于R中的数据框绘制多个直方图