【发布时间】:2013-02-21 01:22:57
【问题描述】:
我想使用一个 Django (1.4) 模型表单集,当加载表单集时,表单将由模型中的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 docs(稍后我也会更改它的 clean 方法,但现在没关系)。之后,我在视图中使用它来创建表单集:
ExamDateFormSet = modelformset_factory( 模型.ExamDate, 排除 =('权限', ), can_delete=真, 额外=1, formset = forms.BaseExamDateFormSet ) ... formset = ExamDateFormSet()我的问题是,当表单集被渲染时,表单中的数据总是以相同的顺序排列(按 id 排列),而不管 order_by 属性的值如何:(
我应该尝试在我的 ExamDate 模型中设置默认顺序吗?不过我真的不喜欢那个解决方案:(
TIA!
【问题讨论】:
标签: python django django-models django-forms