Django Forms: Выберите правильный вариант. Этот выбор не является одним из доступных вариантов
Я использую Django в качестве CRUD-приложения для работы с базой данных Postgresql. Каждый квартал добавляются данные, и мне нужен способ обновления базовых данных. У меня есть установленная форма, но когда я пытаюсь сохранить форму, я получаю сообщение "Выберите правильный выбор. Этот выбор не является одним из доступных вариантов." У меня есть другие формы (которые работают), установленные в моем приложении, которые не имеют этой проблемы, и код для них аналогичен.
Может ли кто-нибудь сказать мне, что здесь происходит?
forms.py:
class MarketViewForm(ModelForm):
class Meta:
model = MarketView
fields = "__all__"
widgets = {
'marketview_entry' : forms.NumberInput(attrs={'class' : 'form-control', 'placeholder': 'Marketview Entry'}),
'costarid' : forms.NumberInput(attrs={'class' : 'form-control', 'placeholder': 'Costar ID'}),
'direct_available' : forms.NumberInput(attrs={'class' : 'form-control', 'placeholder': 'Direct Available Space'}),
'direct_vacant' : forms.NumberInput(attrs={'class' : 'form-control', 'placeholder': 'Direct Vacant Space'}),
'sublet_available' : forms.NumberInput(attrs={'class' : 'form-control', 'placeholder': 'Sublet Available Space'}),
'status' : forms.Select(attrs={'class' : 'form-control', 'placeholder': 'Development Status'}),
'import_date' : forms.SelectDateWidget(attrs={'class' : 'form-control', 'placeholder': 'Import Date'})
}
labels = {
'marketview_entry' : "Marketview Entry",
'id' : "ID",
'direct_available' : "Direct Available Space",
'direct_vacant' : "Direct Vacant Space",
'sublet_available' : "Sublet Available Space",
'status' : "Development Status",
'import_date' : "Import Date"
}
views.py:
def edit_marketview(request, entry):
entry = MarketView.objects.get(pk=entry)
form = MarketViewForm(request.POST or None, instance=entry)
if form.is_valid():
form.save()
return redirect('update-marketview')
return render(request, 'props/edit_marketview.html', {'entry':entry, 'form':form})
models.py
class MarketView(models.Model):
marketview_entry = models.AutoField(db_column='MarketView_Entry', primary_key=True)
id = models.ForeignKey('PropertyInfo', models.DO_NOTHING, db_column='CostarID', blank=True, null=True)
direct_available = models.IntegerField(db_column='Direct_Available', blank=True, null=True)
direct_vacant = models.IntegerField(db_column='Direct_Vacant', blank=True, null=True)
sublet_available = models.IntegerField(db_column='Sublet_Available', blank=True, null=True)
status = models.ForeignKey('Status', models.DO_NOTHING, db_column='Status', blank=True, null=True)
import_date = models.DateField(db_column='Import_Date', blank=True, null=True)
class Meta:
managed = True
db_table = 'market_view'