I have created a BaseUser model to create users and i have also created a Profile for every single user when new user gets created.
But when i try to update the information's or try to delete the specific user from the admin panel i get this error :-
[12/Jan/2024 15:05:29] "GET /admin/accounts/baseuser/16/change/ HTTP/1.1" 200 17895
[12/Jan/2024 15:05:30] "GET /static/admin/js/jquery.init.js HTTP/1.1" 200 347
Not Found: /favicon.ico
Internal Server Error: /admin/accounts/baseuser/16/change/
Traceback (most recent call last):
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 313, in _commit
return self.connection.commit()
sqlite3.IntegrityError: FOREIGN KEY constraint failed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 688, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
response = view_func(request, *args, **kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/views/decorators/cache.py", line 62, in _wrapper_view_func
response = view_func(request, *args, **kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/contrib/admin/sites.py", line 242, in inner
return view(request, *args, **kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1889, in change_view
return self.changeform_view(request, object_id, form_url, extra_context)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/utils/decorators.py", line 46, in _wrapper
return bound_method(*args, **kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
response = view_func(request, *args, **kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1747, in changeform_view
return self._changeform_view(request, object_id, form_url, extra_context)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/db/transaction.py", line 263, in __exit__
connection.commit()
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 337, in commit
self._commit()
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 313, in _commit
return self.connection.commit()
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/db/utils.py", line 91, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/mohit/okk/django_pinterest/myenv/lib/python3.8/site-packages/django/db/backends/base/base.py", line 313, in _commit
return self.connection.commit()
django.db.utils.IntegrityError: FOREIGN KEY constraint failed
[12/Jan/2024 15:05:32] "POST /admin/accounts/baseuser/16/change/ HTTP/1.1" 500 129157
this is how i created my models :-
from django.db import models
from django.contrib.auth.models import BaseUserManager,AbstractBaseUser,PermissionsMixin
from .manager import MyUserManager
# Create your models here.
class BaseUser(AbstractBaseUser,PermissionsMixin):
sno = models.AutoField(primary_key=True)
username = models.CharField(max_length = 50,unique=True)
email = models.EmailField(
verbose_name="email address",
max_length=255,
)
joined_date = models.DateField(auto_now=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
objects = MyUserManager()
USERNAME_FIELD = "username"
REQUIRED_FIELDS = ["email"]
def __str__(self):
return self.username
def has_perm(self, perm, obj=None):
"Does the user have a specific permission?"
# Simplest possible answer: Yes, always
return True
def has_module_perms(self, app_label):
"Does the user have permissions to view the app `app_label`?"
# Simplest possible answer: Yes, always
return True
@property
def is_staff(self):
"Is the user a member of staff?"
# Simplest possible answer: All admins are staff
return self.is_admin
class Profile(models.Model):
sno = models.AutoField(primary_key=True)
user = models.OneToOneField(BaseUser, on_delete=models.CASCADE)
photo = models.ImageField(default='profiles/default.png', upload_to='profiles')
about = models.TextField()
fname = models.CharField(max_length=300)
lname = models.CharField(max_length=300)
pronouns = models.CharField(max_length=100)
website = models.CharField(max_length=100)
def __str__(self):
return str(self.user)
and this is my signals.py :-
from django.db.models.signals import post_save
from django.dispatch import receiver
from .models import BaseUser,Profile
@receiver(post_save,sender=BaseUser)
def create_profile(sender,instance,created,**kwargs):
if created:
Profile.objects.create(user=instance)
@receiver(post_save,sender = BaseUser)
def save_profile(sender,instance,**kwargs):
instance.profile.save()
Please help me if you could.. i have been stuck from tomorrow.