Django.core.exceptions.FieldError: Неизвестное(ые) поле(а) (contact_number, address, user_type) указано(ы) для User
как решить эту ошибку:
django.core.exceptions.FieldError: Unknown field(s) (contact_number, address, user_type) specified for User.
forms.py:
from django.contrib.auth.models import User
class UserForm(forms.ModelForm):
class Meta:
model=User
fields=['first_name','last_name','address','contact_number','user_type','username','password']
widgets = {'first_name': forms.TextInput(attrs={ 'class': 'form-control'}),
'last_name': forms.TextInput(attrs={ 'class': 'form-control' }),
'address': forms.Textarea(attrs={ 'class': 'form-control' }),
'contact_number': forms.IntegerField(attrs={ 'class': 'form-control' }),
'user_type': forms.Select(attrs={ 'class': 'form-control' }),
'username': forms.TextInput(attrs={ 'class': 'form-control' }),
'password': forms.PasswordInput(attrs={ 'class': 'form-control' })
}
У меня возникли трудности, пожалуйста, подскажите, что делать.
В встроенной модели пользователя Django нет таких полей, как address, user_type, contact_number
Поэтому вы можете создать пользовательскую модель, названную profile или как-то иначе:
from django.db import models
from django.contrib.auth.models import User
Class Profile(models.Model):
parent=models.OneToOneField(User,on_delete=models.CASCADE)
contact=models.CharField(max_length=100)
address=models.CharField(max_length=300)
Теперь вы можете соотнести свою точку зрения с этим
Это просто способ расширения модели User в django. На официальном сайте django также есть различные способы. https://docs.djangoproject.com/en/4.0/topics/auth/customizing/#extending-user