Django:订单formset没有形式变化

时间:2017-11-25 11:20:55

标签: django django-forms

我的表格只有一个字段(家庭成员的姓名)。

class FamilyMemeberItem(forms.Form):
    name= forms.CharField(label=_('name'), max_length=20)

现在我希望我的表单按用户定义(任意顺序)排序。例如,在一个家庭中,我想首先显示A,然后显示B,然后显示C,而创建序列可能是C,B和A.无论如何都要这样做吗?

我搜索并意识到我应该在表单中添加order字段并覆盖__iter__()方法。这是唯一的方法吗?如果没有改变形式就没有办法做到这一点?

有人可以告诉我can_order的{​​{1}}字段吗?当我添加它时,在我的表单旁边会加载一个额外的字段,并且该字段和整数表示该字段的编号。我可以更改并保存,以便订单更改吗?

1 个答案:

答案 0 :(得分:1)

我回答了您发布的similar question

我将在这里重复最后一部分:

如果要将订单存储在数据库中,则需要在模型中定义一个新字段并在其中存储订单。表单集的顺序仅在单个请求/响应内出现,之后就消失了。