models.py:
class Sportsman(models.Model):
first_name = models.CharField(max_length=64, blank=True, null=True, default=None, verbose_name='Имя')
last_name = models.CharField(max_length=64, blank=True, null=True, default=None, verbose_name='Фамилия')
middle_name = models.CharField(max_length=64, blank=True, null=True, default=None,
verbose_name='Отчество')
email = models.EmailField(max_length=128, blank=True, null=True, default=None, verbose_name='Емейл')
phone = models.CharField(max_length=64, blank=True, null=True, default=None, verbose_name='Номер тел.')
dob = models.DateField(default=None, null=True, blank=True, verbose_name='Дата рожд-я')
gender = models.ForeignKey(Gender, on_delete=models.CASCADE, null=True, blank=True, default=True, verbose_name='Пол')
...
created = models.DateField(blank=True, null=True, default=timezone.now, verbose_name='Дата завяления')
updated = models.DateField(blank=True, null=True, default=timezone.now, verbose_name='Дата ред-ия записи')
...
def __str__(self):
return "Спортсмен(ка): %s %s, почта: %s" % (self.first_name, self.last_name, self.email)
class Meta:
verbose_name = 'Спортсмен'
verbose_name_plural = 'Спортсмены'
forms.py:
class SportsmenForm(forms.ModelForm):
class Meta:
model = Sportsman
exclude = ['created', 'updated']
views.py:
def sportsman(request):
documents = Document.objects.filter(is_active=True)
form = SportsmenForm(request.POST or None)
if request.method == "POST" and form.is_valid():
print(request.POST)
print(form.cleaned_data)
print(form.cleaned_data['email'])
form.save()
new_form = form.save()
return render(request, 'sportsman/sportsman.html', locals())
HTML (огромный кусок не буду присылать, там наверное все понятно. Вот мой селект):
<div class="form-select" id="default-select">
<label for="gender">Пол:</label>
<select data-model-name="{{ form.gender }}"></select>
</div>
Вот что в QueryDict:
<QueryDict: {'csrfmiddlewaretoken': ['GsyuaWsFRFt6nl2CZFBkD7hMkuhQNkMpXH484QCTW8sPnf1XC29ScDrRnOd7dkhX'], 'first_name': ['Testovoe'], 'last_name': ['Testovoe'], 'middle_name': ['Testovoe
'], 'email': ['Testovoe@gmail.com'], 'phone': ['555000'], 'dob': ['1111-11-11'], 'country': ['Testovoe'], 'region': ['Testovoe'], 'town': ['Testovoe']}>
{'first_name': 'Testovoe', 'last_name': 'Testovoe', 'middle_name': 'Testovoe', 'email': 'Testovoe@gmail.com', 'phone': '555000', 'dob': datetime.date(1111, 11, 11), 'gender': None, .... и тд
В самой модели у меня порядка семи ForeignKey. Гендер я взял в качестве примера. Я не знаю где эту ошибку смотреть. Думаю, что во вьюхе проблема. Или проблема в том, что доки невнимательно читаю. Help me!