Django(1.4)modelformsetを使用したいのですが、フォームセットが読み込まれると、モデルにある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(
models.ExamDate、
除外=('権限'、)、
can_delete = True、
extra = 1、
formset = forms.BaseExamDateFormSet
)。
..。
formset = ExamDateFormSet()
私の問題は、フォームセットがレンダリングされると、order_by属性の値に関係なく、フォーム内のデータが常に同じ順序(probaby by id)になることです:(
ExamDateモデルでデフォルトの順序を設定してみる必要がありますか?私は本当にその解決策が好きではありません:(
TIA!