django - Django ModelChoice 字段设置为 required=False 但在浏览器中仍然是必需的
问题描述
class One(forms.ModelForm):
space = forms.ModelChoiceField(queryset=models.Space.objects.none(), required=False)
mode_specific = False
class Meta:
model = OneModel
id_fields = ["name", "description", "space"]
def __init__(self, *args, **kwargs):
super(One, self).__init__(*args, **kwargs)
# this returns false
print(self.fields["space"].required)
但是在模板上,仍然需要“空格”,我不确定是什么问题。
解决方案
请将以下代码粘贴到创建和编辑表单类的init方法中。试试这个并确认。
def __init__(self, *args, **kwargs):
super(One, self).__init__(*args, **kwargs)
for field in self.fields.values():
self.fields['space'].required = False
推荐阅读
- python - 如何将差分方程应用于for循环内的numpy数组
- ios - 无法在 swift4 中使用 Almofire 从 JSON 响应中提取令牌
- java - 如何创建包含自定义对象的包的自定义实例?
- python-3.x - 如何将列表中的每个第二个元素转换为 int 格式?
- python - 使用 Scikit-Learn 使用分类数据制作回归模型
- mysql - 我可以在mysql中使用哪种类型
- javascript - Javascript ParseFloat() 使用 9 位数字
- xamarin.forms - 在我的 PC 上使用 Xamarin 空间不足
- javascript - 如何在 Shiny Server (Non Pro) 中添加 Access-Control-Allow-Origin?
- angular - 如何在 Angular8 中创建具有匿名函数的类