0
class OperationCategoryOnlyForm(forms.ModelForm):
    class Meta:
      model = Operation
      fields = ('operation_type', 'category', 'related_account', )
      ordering = ['date']


OperationFormSet = modelformset_factory(Operation, form=OperationCategoryOnlyForm)

これは非常に簡単な質問です-なぜそれが機能しないのか、そしてそれをデフォルトとは異なるように(IDで)ソートするために何をすべきか

4

1 に答える 1

1

orderingはモデル フォームのMetaクラスの有効なオプションではないため、指定しても何も起こりません。

常に特定のフィールドでモデルを並べたい場合orderingは、モデルのMetaクラスで簡単に設定できます。これは、django admin などの他の場所での順序に影響します。

class Operation(models.Model):
    # field definitions
    class Meta:
        ordering = ('date',)

このフォームセットの順序を変更するだけの場合は、初期化時にカスタム クエリセットを指定します。

OperationFormSet = modelformset_factory(Operation, form=OperationCategoryOnlyForm, queryset=Operation.objects.order_by('date'))
于 2012-09-26T21:50:58.800 に答える