Подтвердить что ты не робот

Как я могу упорядочить поля в Django ModelForm?

У меня есть модель заказа:

class Order(models.Model):
     date_time=models.DateTimeField()
     # other stuff

И я использую класс Django ModelForm для визуализации формы, но я хочу отображать виджеты даты и времени отдельно. Я придумал это:

class Form(forms.ModelForm): 
    class Meta:
        model = Order
        exclude = ('date_time',)
        date = forms.DateField()
        time = forms.TimeField()

Проблема в том, что я хочу помещать эти поля где-то между "другим материалом"

4b9b3361

Ответ 2

В дополнение к ответу Lukasz, в Django 2.0 полная регистрация формы администратора с упорядочением полей будет выглядеть следующим образом:

models.py

class Order(models.Model):
    date_time = models.DateTimeField()
    # other fields

admin.py

class OrderForm(forms.ModelForm):
    datef = forms.DateField()
    timef = forms.TimeField()

    class Meta:
      model = Order
      exclude = ['date_time']
      fields = (
          'datef',
          'timef',
          # other fields
      )

class OrderAdmin(admin.ModelAdmin):
    form = OrderForm

admin.site.register(Order, OrderAdmin)

Обратите внимание, что поля даты и времени определены в классе ModelForm, а не в классе Meta.

Ответ 3

Просто измените порядок атрибутов класса в models.py. Работает в 1,9