Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-表单小部件,带有一个复选框,可在无限制或数字文本框之间进行选择_Python_Django_Django Forms - Fatal编程技术网

Python Django-表单小部件,带有一个复选框,可在无限制或数字文本框之间进行选择

Python Django-表单小部件,带有一个复选框,可在无限制或数字文本框之间进行选择,python,django,django-forms,Python,Django,Django Forms,我正在用Django做表格。要显示的字段是表示某个限制的数字字段。有可能没有限制。与其强迫用户输入一些奇怪的数字来表示无限(例如-1),我希望有一个单选按钮,有两个选项:“无限”,第二个选项是用户可以输入值的文本框 原始模型只有可以为null的IntegerField。空值用于表示无限制。是否有某种方法可以使此字段的FormField包含此复选框功能 我知道我可以自己手工编写HTML,我想知道是否有一个已经制作好的django字段/小部件可以这样做。您可以让表单为复选框添加一个额外的表单字段。并

我正在用Django做表格。要显示的字段是表示某个限制的数字字段。有可能没有限制。与其强迫用户输入一些奇怪的数字来表示无限(例如-1),我希望有一个单选按钮,有两个选项:“无限”,第二个选项是用户可以输入值的文本框

原始模型只有可以为null的IntegerField。空值用于表示无限制。是否有某种方法可以使此字段的FormField包含此复选框功能


我知道我可以自己手工编写HTML,我想知道是否有一个已经制作好的django字段/小部件可以这样做。

您可以让表单为复选框添加一个额外的表单字段。并重写其save方法以相应地填充模型字段。或者,您可以创建一个自定义表单字段小部件,该小部件包含两个HTML输入字段,并从输入中生成适当的python值,反之亦然。第一个选项是实现起来更简单,如果您只需要一种形式的功能,那么实现起来更明智。无论哪种方式,我都会重新考虑使用null值来表示除未输入值之外的任何内容。如果所有其他用户指定的值只能是正数,则可以使整型字段保持-1表示无限制。或者添加另一个布尔模型字段来保存此复选框的值