Я новичок в Django, и я изучаю видеоурок для изучения django. Я пытаюсь понять get_user_model () и настройки.AUTH_USER_MODEL. мой каталог выглядит следующим образом:
| simplesocial
| accounts
| | models.py
| | views.py
| | forms.py
|
| simplesocial
|settings.py
# models.py
from django.db import models
from django.contrib import auth
from simplesocial import settings
# Create your models here.
class User(auth.models.User, auth.models.PermissionsMixin):
def __str__(self):
return '@{}'.format(self.username)
#forms.py
from django.forms import forms
from django.contrib.auth.forms import get_user_model
from django.contrib.auth.forms import UserCreationForm
from simplesocial import settings
class UserCreateForm(UserCreationForm):
class Meta:
model = settings.AUTH_USER_MODEL
fields = ('username', 'email')
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['username'].label = 'Display Name'
self.fields['email'].label = 'Email Address'
#settings.py
AUTH_USER_MODEL = 'accounts.User'
Я получаю ошибку ниже
ERRORS:
accounts.User.user_ptr: (fields.E301) Field defines a relation with the model 'auth.User', which has been swapped out.
HINT: Update the relation to point at 'settings.AUTH_USER_MODEL'.
Так как у меня есть пользовательская модель, которая будет использоваться. Что я делаю неправильно. Если я заменю настройки. AUTH_USER_MODEL с get_user_model () будет ли он использовать мой пользовательский класс User? Я не мог понять, как работает get_user_model ()