TypeError неверный аргумент ключевого слова для этой функции - PullRequest
0 голосов
/ 01 января 2019

Я новичок в Python, пытаюсь создать поле формы и у меня возникла проблема.Мои формы отображаются правильно в html, но когда я пытаюсь отправить данные и сохранить их в базе данных, но у меня есть ошибка:

TypeError at / srdb /
'send_date' является недопустимымАргумент ключевого слова для этой функции

Вот мой код:

models.py

class Srdb(models.Model):
send_date = models.DateField()
send_weight = models.IntegerField(default=0, validators=[MaxValueValidator(10000), MinValueValidator(100)])
track_code = models.CharField(default=None, blank=False, max_length=20)
send_index = models.IntegerField(default=None, blank=False,
                                 validators=[MaxValueValidator(999999), MinValueValidator(100000)])
sender_fullname = models.CharField(default=None, blank=False, max_length=150)
sender_dob = models.DateField()
sender_adress = models.CharField(default=None, blank=False, max_length=400)

receiver_index = models.IntegerField(default=None, blank=False,
                                     validators=[MaxValueValidator(999999), MinValueValidator(100000)])
receiver_fullname = models.CharField(default=None, blank=False, max_length=150)
receiver_adress = models.CharField(default=None, blank=False, max_length=400)
sender = models.ForeignKey(Dostavshik, on_delete=models.CASCADE, default=None, blank=False)

def __str__(self):
    return str(self.id)

forms.py

class SrdbForm(forms.Form):
send_date = forms.DateField(widget=forms.DateInput(attrs={'type': 'date'}), label='Дата Отправки')
send_weight = forms.IntegerField(initial=0, validators=[MaxValueValidator(10000), MinValueValidator(100)],
                                 label='Отправленный Вес (граммы)')
track_code = forms.CharField(max_length=20,
                             widget=forms.TextInput(attrs={'placeholder': 'Код Отслеживания Посылки'}),
                             label='Трек Код')
send_index = forms.IntegerField(validators=[MaxValueValidator(999999), MinValueValidator(100000)],
                                widget=forms.TextInput(attrs={'placeholder': 'Индекс Почты Отправления'}),
                                label='Индекc Отправления')
sender_fullname = forms.CharField(max_length=150,
                                  widget=forms.TextInput(attrs={'placeholder': 'Отправитель'}),
                                  label='ФИО отправителя')
sender_dob = forms.DateField(widget=forms.DateInput(attrs={'type': 'date'}), label='Дата Рождения Отправителя')
sender_adress = forms.CharField(max_length=200,
                                widget=forms.TextInput(attrs={'placeholder': 'Полный Адрес Отправителя'}),
                                label='Адрес отправителя')

# Получатель
receiver_index = forms.IntegerField(validators=[MaxValueValidator(999999), MinValueValidator(100000)],
                                    widget=forms.TextInput(attrs={'placeholder': 'Индекс Почты Получения'}),
                                    label='Индекс Получателя')
receiver_fullname = forms.CharField(max_length=100,
                                    widget=forms.TextInput(attrs={'placeholder': 'Получатель'}),
                                    label='ФИО Получателя')
receiver_adress = forms.CharField(max_length=200,
                                  widget=forms.TextInput(attrs={'placeholder': 'Полный Адрес Получателя'}),
                                  label='Адрес Проживания Получателя')
sender = forms.ModelChoiceField(queryset=Dostavshik.objects.all(),
                                label='Отправил Доставщик')

views.py

def srdb(request):
form_srdb = SrdbForm()
if request.method == 'POST':
    form_srdb = SrdbForm(request.POST)
    if form_srdb.is_valid():
        Srdb.objects.create(**form_srdb.cleaned_data)
        messages.success(request, 'Данные Успешно Сохранены')
context = {
    'form_srdb': form_srdb
}
template = 'srdb.html'
return render(request, template, context)

После отправки всегда есть эта ошибка:

TypeError at / srdb /
'send_date' является недопустимым аргументом ключевого слова дляэта функция

...