AttributeError at /accounts/register/ Manager isn't available; 'auth.User' has been swapped for 'stackapp.CustomUser'

from django.db.models import Count
"imorting the packges"
from django.shortcuts import render, HttpResponse
from django.core.paginator import Paginator
from django.contrib import messages
from .models import *
from .forms import AnswerForm, QuestionForm, ProfileForm
from django.contrib.auth.forms import UserCreationForm
from .forms import ProfileForm
from django.conf import settings
User = settings.AUTH_USER_MODEL


# Home Page


def home(request):
    "creating a function for paginator"
    if 'q' in request.GET:
        q = request.GET['q']
        quests = Question.objects.filter(title__icontains=q).order_by('-id')
    else:
        quests = Question.objects.all().order_by('-id')
    paginator = Paginator(quests, 10)
    page_num = request.GET.get('page', 1)
    quests = paginator.page(page_num)
    return render(request, 'home.html', {'quests': quests})


# Detail
def detail(request, id):
    "creating a function for question details"
    quest = Question.objects.get(pk=id)
    tags = quest.tags.split(',')
    answers = Answer.objects.filter(question=quest).order_by('-id')
    # comments = Comment.objects.filter(answer=answer).order_by('-id')

    answerform = AnswerForm
    if request.method == 'POST':
        answerData = AnswerForm(request.POST)
        if answerData.is_valid():
            answer = answerData.save(commit=False)
            answer.question = quest
            answer.user = request.user
            answer.save()
            messages.success(request, 'Answer has been submitted successfully')
    return render(request, 'detail.html', {
        'quest': quest,
        'tags': tags,
        'answers': answers,
        'answerform': answerform,
    })


# User Register
def register(request):
    form=UserCreationForm
    if request.method=='POST':
        regForm=UserCreationForm(request.POST)
        if regForm.is_valid():
            regForm.save()
            messages.success(request,'User has been registered!!')
    return render(request,'registration/register.html',{'form':form})

views.py

"importing package"
from dataclasses import field
from django.forms import ModelForm
from .models import Answer, CustomUser, Question


class AnswerForm(ModelForm):
    "creating answerform"
    class Meta:
        model = Answer
        "fetch all field"
        fields = ('detail',)


class QuestionForm(ModelForm):
    class Meta:
        model = Question
        fields = ('title', 'detail', 'tags')


class ProfileForm(ModelForm):
    class Meta:
        model = CustomUser
        fields = ('first_name', 'last_name', 'username', 'bio', 'location')

forms.py

import profile
from django.conf import settings
from django.db import models
from django.contrib.auth.models import User, AbstractUser


class CustomUser(AbstractUser):
    bio = models.CharField(max_length=200)
    location = models.CharField(max_length=200)


# Question Model
class Question(models.Model):
    "creating question table with the following attributes"
    user = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
    title = models.CharField(max_length=300)
    detail = models.TextField()

    tags = models.TextField(default=' ')
    add_time = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title


# Answer Model
class Answer(models.Model):
    "creating answer table with following attributes "
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    user = models.ForeignKey(CustomUser, on_delete=models.CASCADE, null=True)
    detail = models.TextField()
    add_time = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.detail


# Comment Model
class Comment(models.Model):
    "creating Comment Table with following attributes"
    answer = models.ForeignKey(Answer, on_delete=models.CASCADE)
    user = models.ForeignKey(
        CustomUser, on_delete=models.CASCADE, related_name='comment_user')
    comment = models.TextField(default=' ')
    add_time = models.DateTimeField(auto_now_add=True)

I Have Error when registration AttributeError at /accounts/register/ Manager isn't available; 'auth.User' has been swapped for 'stackapp.CustomUser' Exception Type: AttributeError Exception Value:
Manager isn't available; 'auth.User' has been swapped for 'stackapp.CustomUser' Exception Location: /home/vinay/lib/python3.10/site-packages/django/db/models/manager.py, line 196, in get

what is the issue??

When i am using Django user it will work but change to custom user not working.

The documentations says

Finally, the following forms are tied to User and need to be rewritten or extended to work with a custom user model: UserCreationForm UserChangeForm

You can find this question helpful

Back to Top