我正在尝试向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
答案 0 :(得分:3)
您的ReservationForm
不会扩展BaseModelForm
或其任何子类。将其更改为:
class ReservationForm(forms.ModelForm):