带有复选框的表单集

And*_*yuk 5 django django-forms

我希望能够在页面上显示模型列表,并允许用户同时选择其中的几个。

例如,假设我有一个用户选择屏幕,用于模型:

class User(model):
   first = # char field
   last  = # char field
   birthdate = # date
Run Code Online (Sandbox Code Playgroud)

然后我想向用户展示并让他们选择其中之一:

Please select users:
[] John  Smith   Jan, 2001
[] Mike  Davis   Feb, 2002
[] John  Doe     Dec, 2000

[Continue]
Run Code Online (Sandbox Code Playgroud)

然后将发布并处理此表单。

我能想到的一种方法是使用 ModelFormset。问题是当我尝试使用 ModelFormsets 来显示用户时,我无法添加复选框。

我能想到的另一种方法是创建一个表单,并在其上输出一大堆具有特定 id 的复选框。然后提交 - 遍历所有选定的复选框。不确定这将如何与 Django 的表单一起使用。

欢迎任何建议。谢谢。

编辑:事实证明,通过在同一个名称组中为每个复选框提供一个 ID(例如患者 ID),并在 django 视图中简单地查看 POST 字典给了我我所需要的!

Dan*_*man 2

您不需要表单集,因为它用于编辑一组模型实例中的数据。ModelChoiceField您想要的是带有或 的单个表单ModelMultipleChoiceField- 您可能需要更改要使用的小部件CheckboxSelectMultiple