class OperationCategoryOnlyForm(forms.ModelForm):
class Meta:
model = Operation
fields = ('operation_type', 'category', 'related_account', )
ordering = ['date']
OperationFormSet = modelformset_factory(Operation, form=OperationCategoryOnlyForm)
这是一个非常简单的问题 - 为什么它不起作用,以及如何使其排序不同于默认值(通过id)
答案 0 :(得分:1)
ordering
不是模型表单Meta
类的有效选项,因此指定它不会执行任何操作。
如果您始终希望按特定字段对模型进行排序,则只需在模型的Meta
类中设置ordering
即可。这会影响其他地方的订购,例如在django admin。
class Operation(models.Model):
# field definitions
class Meta:
ordering = ('date',)
如果您只想更改此formset的排序,请在初始化时更改provide a custom queryset。
OperationFormSet = modelformset_factory(Operation, form=OperationCategoryOnlyForm, queryset=Operation.objects.order_by('date'))