"Ключ 'current' не найден в 'InputForm'. Варианты: ." в Djangoforms
У меня есть модель, из которой я делаю django форму. у моей модели есть все филды, а у формы нет? Я не знаю, где ошибка? models.py:
from django.db import models
class flightInfo(models.Model):
airCode=models.CharField(max_length=20)
aircraft_departure=models.CharField(max_length=20)
departure_time=models.TimeField(auto_now=False, auto_now_add=False)
aircraft_destination=models.CharField(max_length=20)
arrivale_time=models.TimeField(auto_now=False, auto_now_add=False)
airCode2=models.CharField(max_length=20)
aircraft_departure2=models.CharField(max_length=20)
departure_time2=models.TimeField(auto_now=False, auto_now_add=False)
aircraft_destination2=models.CharField(max_length=20)
arrivale_time2=models.TimeField(auto_now=False, auto_now_add=False)
airCode3=models.CharField(max_length=20)
aircraft_departure3=models.CharField(max_length=20)
departure_time3=models.TimeField(auto_now=False, auto_now_add=False)
aircraft_destination3=models.CharField(max_length=20)
arrivale_time3=models.TimeField(auto_now=False, auto_now_add=False)
start_date=models.DateField()
end_date=models.DateField()
current =models.DateField()
day1=models.BooleanField(default=False)
day2=models.BooleanField(default=False)
day3=models.BooleanField(default=False)
day4=models.BooleanField(default=False)
day5=models.BooleanField(default=False)
day6=models.BooleanField(default=False)
day7=models.BooleanField(default=False)
def __str__(self):
return self.airCode
forms.py:
from django import forms
from . models import *
class InputForm(forms.Form):
class Meta:
model = flightInfo
fields = ['airCode', 'start_date', 'day7', 'current']
views.py:
from django.shortcuts import render
from . models import *
from django.http import HttpResponseRedirect, HttpResponse
from .forms import InputForm
def detail(request):
print(request.GET)
print(request.POST)
if request.method == 'POST':
print( request.POST.get('current'))
form = InputForm(request.POST)
print (form['current'].value())
print (form.data['current'])
if form.is_valid():
print( form.cleaned_data['current'])
print( form.instance.my_field)
form.save()
return HttpResponse('<h1>Hello World</h1>')
и urls.py:
from django.urls import path , include
from . import views
urlpatterns = [
path('', views.detail),
]
Пожалуйста, помогите мне. И да, я получаю дату из формы, чтобы сделать экземпляр формы django, а не из формы django, делая html форму.
InputForm должна быть расширением ModelForm, если вы пытаетесь создать форму на основе модели. Вы можете узнать больше о моделях форм здесь
from django.forms import ModelForm
from .models import *
class InputForm(ModelForm):
class Meta:
model = flightInfo
fields = ['airCode', 'start_date', 'day7', 'current']