'form' 的值必须继承自 'BaseModelForm'

The value of 'form' must inherit from 'BaseModelForm'

我正在尝试将动态选择字段添加到 adimin 表单,但出现错误:

The value of 'form' must inherit from 'BaseModelForm'.

我做错了什么?

(admin.py的一部分)

class ReservationForm(forms.Form):

    class Meta:
        model = Reservation

    def __init__(self,*args, **kwargs):
        super(ReservationForm, self).__init__(*args, **kwargs)

        if not self.request.user.is_superuser:
            self.fields['status'] = forms.ChoiceField(STATUS_CHOICES = ( (PENDING,'Pending'),(APPROVED, 'Approved'), (CANCELED, 'Canceled') ))

# Reservation

class ReservationAdmin(admin.ModelAdmin):
    form = ReservationForm

您的 ReservationForm 没有扩展 BaseModelForm 或其任何子类。将其更改为:

class ReservationForm(forms.ModelForm):