尝试过滤不在多个字段中的用户的帖子时遇到错误“方法”对象是不可迭代的

问题描述

因此,当我尝试过滤类似Twitter之类的应用程序中的某些帖子时,我似乎无法遍历多对多字段来显示这些帖子。 这是给我麻烦的代码

posts1 = Post.objects.filter(user__username__in=request.user.following.all)

我需要称呼它为分页,否则我可以在模板中完成所有操作。

这些是我在此次通话中使用的模型:

class User(AbstractUser):
    follower = models.ManyToManyField("User",related_name="followers",blank=True)
    following = models.ManyToManyField("User",related_name="follow",blank=True)
    

class Post(models.Model):
    user = models.ForeignKey("User",on_delete=models.CASCADE,related_name="users")
    post = models.TextField()
    timestamp = models.DateTimeField(auto_Now_add=True)
    like = models.IntegerField()

    def serialize(self):
        return {
            "id": self.id,"user": self.user,"post": self.post,"timestamp": self.timestamp.strftime("%b %-d %Y,%-I:%M %p"),"like": self.like,}

解决方法

我将错误更改为 posts1 = Post.objects.filter(user__in=request.user.following.all())