How to CASCADE on uninstall?

I have this model in Django where it person

has the same information from the user

one provided by Django plus a little more information. When I create a new one person

, it also needs to create a new one user

. But when I delete person

, user

still in my database. What am I missing here? I would also like to delete user

.

class Person(models.Model):
    user = OneToOneField(User)
    gender = CharField(max_length=1, choices=GenderChoices, blank=True, null=True)
    birth_date = DateField(blank=True, null=True)

    def __unicode__(self):
        return self.user.username

      

+1


source to share


1 answer


Try to override the delete method on the model (code not tested):

class Person(models.Model):
    user = OneToOneField(User)
    gender = CharField(max_length=1, choices=GenderChoices, blank=True, null=True)
    birth_date = DateField(blank=True, null=True)

    def __unicode__(self):
        return self.user.username

    def delete():
        theuser = User.objects.get(id=user)
        theuser.delete()

      



I found relevant documentation on using CASCADE in Django here .

0


source







All Articles