我想使用 Django (1.4) modelformset,当加载 formset 时,表单将由我在模型中的exam_date 字段排列。为此,我创建了以下简单的 BaseModelFormSet
类 BaseExamDateFormSet(BaseModelFormSet): def __init__(self, *args, **kwargs): super(BaseExamDateFormSet, self).__init__(*args, **kwargs) self.queryset = models.ExamDate.objects.all().order_by('exam_date')
如您所见,我已按照 django 文档中的建议更改了查询集(稍后我还将更改其 clean 方法,但现在没关系)。之后,我在视图中使用它来创建表单集:
ExamDateFormSet = modelformset_factory( 模型.ExamDate, 排除 =('权限', ), can_delete=真, 额外=1, formset = forms.BaseExamDateFormSet ) ... formset = ExamDateFormSet()
我的问题是,当呈现表单集时,表单中的数据始终处于相同的顺序(通过 id 可能),而不管 order_by 属性的值如何:(
我应该尝试在我的 ExamDate 模型中设置默认顺序吗?我真的不喜欢那个解决方案:(
蒂亚!