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

时间:2015-03-18 01:49:04

标签: python django django-forms

我正在尝试向admin表单添加动态选择字段,但是我收到错误:

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

1 个答案:

答案 0 :(得分:3)

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

class ReservationForm(forms.ModelForm):