Reputation: 1748
class User(models.Model):
username = models.CharField(max_length=30)
email = models.CharField(max_length=60, primary_key=True)
registration_date = models.DateField(default=datetime.date.today)
class Task(models.Model):
author = models.ForeignKey(
User, on_delete=models.PROTECT,
related_name="%(app_label)s_%(class)s_author"
)
likes = models.ManyToManyField(
User,
related_name="%(app_label)s_%(class)s_like"
)
dislikes = models.ManyToManyField(
User,
related_name="%(app_label)s_%(class)s_dislike"
)
subscribed_users = models.ManyToManyField(User)
I want to make a method for User, which returns all tasks liked or disliked by that user. I looked through django orm's documentation and didn't find how I can, given an instance of User, find all Tasks he liked.
Upvotes: 0
Views: 51
Reputation: 166
You just need to use the related_name like:
some_user.app_label_class_like.all()
Upvotes: 1