Менеджер недоступен; 'auth.User' был заменен на 'reg.User'
Я не могу найти решение для ошибки, которую я получаю при попытке сохранить пользователя. Я хочу сохранить разных пользователей. Я искал ответы на предыдущие вопросы с похожими проблемами и пытался использовать get_user_model, но ошибка все равно сохраняется. Пожалуйста, проверьте мой код и подскажите решение.
Менеджер недоступен; 'auth.User' был заменен на 'reg.User'
Вот мой файл Models
from enum import unique
from django.db import models
from django.db.models.fields import DateField
from django.db.models.fields.related import OneToOneField
from django.urls import reverse
from django.contrib.auth.models import AbstractUser, BaseUserManager, PermissionsMixin
import datetime
import os
from django.db.models.deletion import CASCADE, SET_NULL
class CustomUserManager(BaseUserManager):
def create_user(self, username, email, password=None):
if not email:
raise ValueError('Email Address Required')
email = self.normalize_email(email)
user = self.model(username=username, email=email, password=password)
user.set_password(password)
user.save(using=self._db)
return user
class User(AbstractUser):
is_agent = models.BooleanField(default=False)
is_coordinator = models.BooleanField(default=False)
is_regional_director = models.BooleanField(default=False)
is_national_director = models.BooleanField(default=False)
objects = CustomUserManager()
class National_Director(models.Model):
GENDER = (
('Male', 'Male'),
('Female', 'Female'),
)
user = OneToOneField(User, null=True, blank=True, on_delete=models.SET_NULL)
gender = models.CharField(max_length=20, null=False, blank=False, choices=GENDER)
id_no = id_no = models.CharField(max_length=150, null=False, blank=False, unique=True)
address = models.TextField(null=False, blank=False)
created_at = models.DateTimeField(auto_now_add=True)
objects = CustomUserManager()
#Просмотры
from django.shortcuts import render,redirect
from django.http import HttpResponse
from django.views.generic import CreateView
from django.contrib.auth import get_user_model
from .models import *
from .forms import *
class nd_register(CreateView):
Model = get_user_model()
form_class = RegionalDirectorForm
template_name = 'reg/nda_dashboard.html'
Мой файл форм выглядит следующим образом
from django.forms import ModelForm
from django import forms
from django.contrib.auth.forms import UserCreationForm
from django.db import transaction
from django.contrib.auth import get_user_model
from django.conf import settings
from .models import *
User = get_user_model()
class NationalDirectorForm(UserCreationForm):
first_name = forms.CharField(required=True)
last_name = forms.CharField(required=True)
id_no = forms.CharField(required=True)
class Meta(UserCreationForm.Meta):
Model = get_user_model()
@transaction.atomic
def data_save(self):
user = super().save(commit=False)
user.is_national_director = True
user.first_name = self.cleaned_data.get('first_name')
user.last_name = self.cleaned_data.get('last_name')
user.save()
national_director = National_Director.objects.create(user=user)
national_director.id_no = self.cleaned_data.get('id_no')
national_director.save()
return user
Мой файл urls
from django.urls import path
from . import views
urlpatterns = [
path('', views.agent_dashboard , name="home"),
path('parent/<str:pk>/', views.display, name="parent"),
path('add_parent/', views.add_parent, name="add_parent"),
path('add_child/<int:pk>/', views.add_child, name="add_child"),
path('nd_register/', views.nd_register, name="nd_register"),
]