Advertisement
Guest User

Untitled

a guest
May 24th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. from django.contrib.auth.models import User
  3. from django.db import models
  4.  
  5.  
  6. class UserTree(models.Model):
  7. user = models.OneToOneField(User)
  8. leaders = models.ManyToManyField(User, related_name='leaders',
  9. null=True, blank=True)
  10. followers = models.ManyToManyField(User, related_name='followers',
  11. null=True, blank=True)
  12.  
  13. class Meta:
  14. verbose_name = 'User Tree'
  15. verbose_name_plural = 'User Tree'
  16.  
  17. # -*- coding: utf-8 -*-
  18. from .models import UserTree
  19. from django.db.models.signals import m2m_changed
  20.  
  21.  
  22. def leaders_saved(sender, instance, action, reverse, *args, **kwargs):
  23. if action == 'post_add' and not reverse:
  24. leaders = instance.leaders.all()
  25. for leader in leaders:
  26. obj, created = UserTree.objects.get_or_create(user=leader)
  27. obj.followers.add(instance.user)
  28. obj.save_base(raw=True)
  29.  
  30.  
  31. m2m_changed.connect(leaders_saved, sender=UserTree.leaders.through)
  32.  
  33.  
  34. def followers_saved(sender, instance, action, reverse, *args, **kwargs):
  35. import ipdb; ipdb.set_trace()
  36. # if action == 'post_add' and not reverse:
  37. # followers = instance.followers.all()
  38. # for follower in followers:
  39. # obj, created = UserTree.objects.get_or_create(user=follower)
  40. # obj.leaders.add(instance.user)
  41. # obj.save()
  42.  
  43. m2m_changed.connect(followers_saved, sender=UserTree.followers.through)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement