How can I show all users I follow?

Viewed 133

I have models:

Profile mode

class Profile(AbstractUser):
    following = models.ManyToManyField("self", through=UserFollowing, related_name="followers",
                                           verbose_name=_("following"), symmetrical=False)

And UserFollowing model

class UserFollowing(models.Model):
    following_from = models.ForeignKey("Profile", related_name="following_from", on_delete=models.CASCADE,
                                       verbose_name=_("Following from"))
    follow_to = models.ForeignKey("Profile", related_name="follow_to", on_delete=models.CASCADE,
                                  verbose_name=_("Following to"))
    created = models.DateTimeField(auto_now_add=True, db_index=True)

How can I show all profiles I follow? How Can I setup query set to show al followers and followed Profiles?

Profile.objects.filter... ?
2 Answers

You will want to filter with the current session authenticated user

Profile.objects.filter(following=User.id)

To get all profiles you are follow, try this:

Profile.objects.get(pk=request.user).following.all()

Or:

all profiles you are follow:

Profile.objects.get(pk=request.user).following_from.all()

all profiles follows you:

Profile.objects.get(pk=request.user).follow_to.all()
Related