2
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()
user1682273
  • 147
  • 1
  • 4
  • 7
  • 1
    A Signal coould fit your needs. http://stackoverflow.com/questions/1990502/django-signal-when-user-logs-in – Jingo Oct 13 '12 at 19:19

1 Answers1

1

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")
Frg
  • 406
  • 2
  • 3