user1682273
user1682273

Reputation: 147

How to delete objects after user logout?

from django.contrib.auth.models import User

class Drink(models.Model):
        owner = models.ForeignKey(User)
        name = models.CharField(max_length=50)

How to delete all Drink after user logout?

def delete_drink(request):
    user = request.user
    drink = Drink.objects.filter(owner=user)
    drink.delete()

Upvotes: 2

Views: 245

Answers (1)

Frg
Frg

Reputation: 406

This may do the trick:

from django.contrib.auth.signals import user_logged_out

def delete_drink(user):
    drink = Drink.objects.filter(owner=user)
    drink.delete()

def on_logout(sender, **kwargs):
    if kwargs['user']:
        delete_drink(kwargs['user'])

user_logged_out.connect(on_logout, dispatch_uid="user_logout1")

Upvotes: 1

Related Questions