Shridhar Kulkarni
Shridhar Kulkarni

Reputation: 31

DoesNotExist at /admin/auth/user/. User matching query does not exist

1.users/signals.py

from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
from .models import Profile
from django.contrib.auth.models import User


@receiver(post_save, sender=Profile)
@receiver(post_save, sender=User)
def createProfile(sender, instance, created, **kwargs):
    if created:
        print('Profile created')
        user = instance
        user.save()
        profile = Profile.objects.create(
            user=user,
            username = user.username,
            email=user.email,
        )

# @receiver(post_delete, sender=Profile)
def deleteUser(sender, instance, **kwargs):
    user = instance.user                // error showing to this line
    user.delete()

# post_save.connect(createProfile, sender=User)
post_delete.connect(deleteUser, sender=Profile)

**2.Users/models.py

from django.db import models
import uuid
from django.contrib.auth.models import User


# Create your models here.
class Profile(models.Model):
    user = models. OneToOneField(User,on_delete=models.CASCADE, null=True,blank=True)
    name = models.CharField(max_length=200, null=True, blank=True)
    username = models.CharField(max_length=200, null=True, blank=True)
    short_intro = models.TextField(max_length=1000,null=True,blank=True)
    short_bio = models.TextField(max_length=1000,null=True,blank=True)
    user_image = models.ImageField(null=True,blank=True,upload_to='profiles/',default='profiles/mehdi.png')
    email = models.CharField(max_length=200, null=True, blank=True)
    social_github = models.CharField(max_length=200, null=True, blank=True)
    social_linkedin = models.CharField(max_length=200, null=True, blank=True)
    social_website = models.CharField(max_length=200, null=True, blank=True)
    social_twitter = models.CharField(max_length=200, null=True, blank=True)
    social_stackoverflow = models.CharField(max_length=200, null=True, blank=True)


    def __str__(self):
        return self.username

Upvotes: 0

Views: 461

Answers (1)

Tanveer
Tanveer

Reputation: 1215

def delete(self, request, pk, *args, **kwarg):
    YourModelName.objects.filter(id = pk).delete()
    return redirect(reverse('template_Name'))

Upvotes: 1

Related Questions