У меня есть следующий вид:Джанго: __init __() получил неожиданное ключевое слово аргумент «экземпляр»
class locationForm(forms.Form):
existing_regions= forms.ModelChoiceField(queryset=Region.objects.none(), label="Region Name", required=False)
region_name = forms.CharField()
location_name = forms.CharField()
street_address = forms.CharField()
city = forms.CharField()
zip_code = forms.CharField()
И следующий вид обновления для этой формы:
class UpdateLocation(View):
template_name = "dash/location_update_form.html"
def get(self, request, *args, **kwargs):
loc = kwargs['name']
try:
location = Location.objects.get(name=loc)
form = locationForm(instance=location)
return render(request, self.template_name, {'form': form,'location': location})
except (ValueError, ObjectDoesNotExist):
return redirect(reverse('geofence_manager'))
def post(self, request, *args, **kwargs):
loc = self.kwargs['name']
try:
location = Location.objects.get(name=loc)
form = locationForm (request.POST, instance=location)
if form.is_valid():
form.save()
else:
form = locationForm(request.POST, instance=location)
return render(request, self.template_name, {'location': location, 'form': form})
except (ValueError, ObjextDoesNotExist):
return redirect(reverse('location_manager'))
return redirect(reverse('location_manager'))
Я получаю сообщение об ошибке в отношении используемого аргумента ключевого слова «instance». Я считаю, что это имеет отношение ко мне, не используя Modelform
(я мог ошибаться). Но я не хочу использовать Modelform
для создания моей формы, так же как я могу обойти это?
Почему вы пытаетесь передать модель к нему? –
Я пытаюсь сделать представление обновления, которое будет отображать данные из экземпляра, с которым он связан. Есть лучший способ сделать это? – ApathyBear
За исключением использования 'ModelForm'? –