我想要使用Django(1.4)modelformset,其中當formset加載時,表單將由我在模型中的exam_date字段進行排列。要做到這一點,我創建了以下簡單BaseModelFormSetDjango modelformset order_by not working
class 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(以後我也會改變它的清潔方法提出,但它並不重要馬上)。之後,我使用它在我看來,以創建表單集:
ExamDateFormSet = modelformset_factory( models.ExamDate, exclude =('authority',), can_delete=True, extra=1, formset = forms.BaseExamDateFormSet ) ... formset = ExamDateFormSet()
我的問題是,當該formset呈現在表單中的數據總是在相同的順序(probaby通過ID),無論價值在ORDER_BY屬性:(
我應該嘗試在我的ExamDate模型設置默認順序?我真的不喜歡這種解決方案雖然:(
TIA!
傳遞查詢集作爲kwarg實際工作?我現在無法測試它,因爲它是一箇舊項目:( – Serafeim 2014-02-12 12:22:21
它確實有效,因爲我使用的記錄相當古老的django v1.4.9。可能仍然支持。 – mpaf 2014-02-13 09:39:28