Модель не проходит проверку is_valid()
У меня есть модель бланка. Она должна создаваться в отдельной форме, но по какой-то причине не проходит проверку is_valid() - (Если убрать, выдает ValueError). Есть предположение, что ошибка выдается из-за того, что не все поля заполняются (в моделе их 12, а в форме я заполняю 9), но остальные поля мне не нужны для заполнения, и они стоят с параметрами default="..." . Помогите!
# models.py
from django.db import models
from datetime import date
from django.contrib.auth.models import User
class Blank(models.Model):
first_name = models.CharField("Имя", max_length=50)
second_name = models.CharField("Фамилия", max_length=50)
third_name = models.CharField("Отчество (если есть)", max_length=50, default='')
email_addr = models.EmailField("email-адрес", unique=True)
phone_num = models.CharField("Номер телефона", max_length=15, default="", unique=True)
passport_id = models.CharField("Серия и номер паспорта", max_length=11, unique=True)
age = models.DateField("Дата рождения", default=date(2002, 1, 1))
registration_address = models.CharField("Адрес регистрации", max_length=100)
photo = models.ImageField("Фото", default=None, upload_to='photos/')
is_blank_valid = models.BooleanField("Заявление составлено правильно?", default=False)
is_passport_reissue = models.BooleanField("Паспорт перевыпущен?", default=False)
blank_date = models.DateField("дата оформления", default=date.today)
def __str__(self):
return str(self.second_name + ' ' + self.first_name + ' ' + self.third_name)
class Meta:
verbose_name = "заявление"
verbose_name_plural = "заявления"
# forms.py
from django.forms import ModelForm
from .models import Blank
class BlankForm(ModelForm):
class Meta:
model = Blank
fields = ["second_name", "first_name", "third_name", "email_addr",
"phone_num", "passport_id", "age",
"registration_address", "blank_date", "photo"]
# view.py
from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import UserCreationForm
from django.shortcuts import redirect, render
from .forms import BlankForm
...
def blankCreate(request):
if request.method == 'POST':
blankform = BlankForm(request.POST)
if blankform.is_valid():
blankform.save()
return redirect('dashboardView')
else:
blankform = BlankForm()
return render(request, 'blankCreate.html', {'form': blankform})
# blankCreate.html
{% extends 'index.html' %}
{% block context %}
<h1>Blank create system</h1>
<form method="POST">
{% csrf_token %}
<p>Фамилия: {{form.second_name}}</p>
<p>Имя: {{form.first_name}}</p>
<p>Отчество: {{form.third_name}}</p>
<p>Эл. почта: {{form.email_addr}}</p>
<p>Номер телефона: {{form.phone_num}}</p>
<p>Серия и номер паспорта: {{form.passport_id}}</p>
<p>Возраст: {{form.age}}</p>
<p>Адрес регистрации: {{form.registration_address}}</p>
<p>Фото: {{form.photo}}</p>
<button>Create new blank</button>
</form>
{% endblock %}