Django 过滤器喜欢用户的帖子

Django filter liked Posts by User

Post 型号

class Post(models.Model):
    likes = models.ManyToManyField(User, related_name="liked_by", blank=True)

我正在尝试查询特定用户喜欢的所有帖子,但找不到正确的 __ 查询。 这是我要进行的查询。

Post.objects.filter(likes__liked_by=User.objects.get(pk=1))

我怎样才能做到这一点?

您可以使用 prefetch_related 并执行如下查询。

User.objects.prefetch_related('liked_by').get(pk=1).liked_by.all()

您可能想以相反的方式查看它,因此请阅读

User.objects.get(pk=1).liked_by.all()