-
Notifications
You must be signed in to change notification settings - Fork 4
The plan
Jacob Haslehurst edited this page Feb 27, 2014
·
1 revision
user = User.objects.first()
user2 = User.objects.last()
article = Article.objects.first()
# make single user follow object
user.follow(article)
# make single user unfollow object
user.unfollow(article)
# check if user is following an object
user.is_following(article)
# make set/list of users follow object
Follow.objects.create_batch(users=[user, user2], target=article)
# make group of users unfollow object
Follow.objects.filter(user_id__in=[user.id, user2.id], target=...).delete() # look to make this nicer
# batch set users' follow status on an object
Follow.objects.update_batch(target=article, users_follow=[(user, True), (user2, False)])
# see all objects a user follows
user.get_follow_set()
# see all objects of a given type that a user follows
user.get_follow_set(model=Article)
# see all followers of a given object
article.get_follower_set()
or related_name??
## THINGS TO RESEARCH
# if a user tries to follow an object already being followed, raise an exception?
# look for precedents set in other libs