Для этого вам нужно расширить AbstractUser, как показано ниже, и добавить дополнительное поле в соответствии с вашими требованиями ...
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
bloodgroup = models.CharField(name="bloodgroup", max_length=10, null=True, blank=True)
bio = models.CharField(name="bio", max_length=100, null=True, blank=True)
И предположим, что эта модель пользователя находится в приложении с именем app_1, тогда вы должны установить AUTH_USER_MODEL в настройках .py как показано ниже ...
settings.py
AUTH_USER_MODEL = "app_1.User"
Выполните команду makemigrations
и migrate
, потому что мы изменили модель.
И ваша форма должна быть такой, как показано ниже ...
from django import forms
class UserRegisterForm(forms.ModelForm):
email = forms.EmailField()
CHOICES = (
('type', 'AB+'),
('type', 'AB-'),
('type', 'A+'),
('type', 'A-'),
('type', 'B+'),
('type', 'B-'),
('type', 'O+'),
('type', 'O-'),
)
bloodgroup = forms.CharField(widget=forms.Select(choices=CHOICES))
bio = forms.CharField()
class Meta:
model = User
fields = '__all__'