Reputation: 7052
My Register view is like below.
class UserRegisterView( FormView ):
template_name = 'register.html'
form_class = UserCreationForm
redirect_authenticated_user = True
success_url = reverse_lazy('dashboard') # name of URL
def form_valid( self, form ):
user = form.save()
if user is not None:
login( self.request, user )
return super( UserRegisterView, self ).form_valid( form )
def get( self, *args, **kwargs ):
if self.request.user.is_authenticated:
return redirect('register')
return super( UserRegisterView, self ).get( *args, **kwargs )
My model is like below.
from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.
class User(AbstractUser):
GENDER_CHOICES = (
('M', 'Male'),
('F', 'Female'),
('O', 'Other'),
)
USER_TYPE = (
('S', 'Super Admin'),
('A', 'Admin'),
('P', 'Patient'),
('D', 'Doctor'),
('U', 'User'),
)
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
date_of_birth = models.DateField(null=True, blank=True )
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
user_type = models.CharField(max_length=1, choices=USER_TYPE)
username = models.EmailField(unique=True)
email = models.EmailField(unique=True)
phone = models.CharField(max_length=15, blank=True, null=True)
address = models.TextField(blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
active = models.BooleanField(default=True)
REQUIRED_FIELDS = []
def __str__(self):
return f"{self.first_name} {self.last_name}"
I am getting error Manager isn't available; 'auth.User' has been swapped for 'hospital.User'
I checked this post and applied the solution but I am getting same error again.
Here is the full traceback.
AttributeError at /register/
Manager isn't available; 'auth.User' has been swapped for 'hospital.User'
Request Method: POST Request URL: http://127.0.0.1:8000/register/ Django Version: 5.0.2 Exception Type: AttributeError Exception Value:
Manager isn't available; 'auth.User' has been swapped for 'hospital.User'
Exception Location: /home/foysal/.local/lib/python3.10/site-packages/django/db/models/manager.py, line 196, in get Raised during: hospital.views.UserRegisterView Python Executable: /usr/bin/python Python Version: 3.10.12 Python Path:
['/home/foysal/Documents/pYtHoN/hospital_management', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '/home/foysal/.local/lib/python3.10/site-packages', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages']
Server time: Tue, 14 May 2024 06:52:53 +0000
Upvotes: 0
Views: 21