Добрый день.
Расширяю модель User, добавляя новые поля.
from django.db import models
from django.contrib.auth.models import User
#models.py
class Personal(models.Model):
user = models.OneToOneField(User, on_delete = models.PROTECT)
middle_name = models.CharField(name='middle_name', verbose_name="Отчество", max_length=255)
user_adress = models.CharField(name='user_adress', verbose_name="Адресс", max_length=255)
user_position = models.CharField(name='user_position', verbose_name="Должность", max_length=255)
# forms.py
from django import forms
from django.contrib.auth.forms import UserCreationForm
from .models import Personal
from django.contrib.auth.models import User
class SaveFields(UserCreationForm):
middle_name = forms.CharField(max_length=255)
user_adress = forms.CharField(max_length=255)
user_position = forms.CharField(max_length=255)
class Meta:
model=User
fields=('middle_name', 'user_adress', 'user_position' )
# views.py
def index_add(request):
# Регистрация
if request.method == 'POST':
print(request.POST)
form = SaveFields(request.POST)
if request.POST:
if form.is_valid():
form.save()
return render(request, template_name = 'account/signup.html', context={
'title': 'Сотрудники',
'form': form
})
Проблема в том что данные не доходят до полей которые добавил.
Заметил что в админке имя инпута изменено на name="personal-0-middle_name", когда должно быть name="middle_name"
Как переопределить имя инпута? так как думаю что проблема связана как раз с этим?