Платеж не может быть создан, потому что данные не подтверждены
Я получаю следующую ошибку: Платеж не может быть создан, потому что данные не прошли проверку. #view
def home(request):
customer = Customer.objects.all().filter(user=request.user)
payments = Payment.objects.all().filter(user=request.user)
if request.method == "POST":
form = PaymentForm(request.POST)
if form.is_valid:
fs = form.save(commit=False)
fs.user = request.user
fs.save()
messages.add_message(request, messages.INFO, 'ثبت با موفقیت انجام شد')
else:
messages.add_message(request, messages.WARNING, 'خطا در ثبت')
else:
form = PaymentForm()
context = {
'payments': payments,
'customer': customer,
'form': form,
}
return render(request, 'payment/index.html', context)
#model
from django_jalali.db.models import jDateField
class Payment(models.Model):
number = models.IntegerField(verbose_name='شماره', unique=True)
price = models.IntegerField(verbose_name='مبلغ')
date = jDateField()
pardakht = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name='دریافت از')
bank = models.IntegerField(choices=bank, verbose_name='بانک')
description = models.TextField(verbose_name='توضیحات', null=True)
status = models.BooleanField(default='0')
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True)
created_at = models.DateTimeField(auto_now_add=True, null=True)
def __str__(self):
return f'{self.number}'
#forms
from jalali_date.fields import JalaliDateField, SplitJalaliDateTimeField
from jalali_date.widgets import AdminJalaliDateWidget, AdminSplitJalaliDateTime
from .models import Payment
class PaymentForm(forms.ModelForm):
class Meta:
model = Payment
fields = ['number', 'price', 'date', 'pardakht', 'bank', 'description']
number = forms.IntegerField(widget=forms.TextInput(attrs={'class': 'form-control'}), label='شماره چک')
price = forms.IntegerField(widget=forms.TextInput(attrs={'class': 'form-control'}), label='مبلغ چک')
pardakht = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control'}), label='مشتری')
bank = forms.ChoiceField(widget=forms.Select(attrs={'class': 'form-control'}), choices=bank, label='بانک')
description = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'}), label='توضیحات')
def __init__(self, *args, **kwargs):
super(PaymentForm, self).__init__(*args, **kwargs)
self.fields['date'] = JalaliDateField(label=('تاریخ چک'), widget=AdminJalaliDateWidget)
index.html
Ошибка
ValueError at /check/payment/ Платеж не может быть создан, потому что данные не прошли проверку. Метод запроса: POST запрос URL: http://127.0.0.1:8000/check/payment/ Версия Django: 4.1.5 Тип исключения: ValueError Значение исключения: Платеж не может быть потому что данные не подтвердились. Исключение Расположение: E:\python\chourtke.ir\chourtke\env\lib\site-packages\django\forms\models.py, строка 539, в save Вызвано во время: payment.views.home Python Исполняемый файл: E:\python\chourtke.ir\chourtke\env\Scripts\python.exe Версия Python: 3.10.4 Python Path: ['E:\python\chourtke.ir\chourtke', 'C:\Users\hamid\AppData\Local\Programs\Python\Python310\python310.zip', 'C:\Users\hamid\AppData\Local\Programs\Python\Python310\DLLs', 'C:\Users\hamid\AppData\Local\Programs\Python\Python310\lib', 'C:\Users\hamid\AppData\Local\Programs\Python\Python310', 'E:\python\chourtke.ir\chourtke\env', 'E:\python\chourtke.ir\chourtke\env\lib\site-packages'] Сервер время: Sun, 22 Jan 2023 21:50:06 +0000
.