Django последовательно связывает таблицы через ForeignKey

У меня есть система Django Models, основанная на системе User Following, размещенной здесь.

Как я могу получить все объекты Post, за которыми следит пользователь, имея две модели: Post и UserFollowings, указывающих на модель User через ForeignKey, но модель User не указывает обратно? Мне нужен QuerySet объектов Posts, чтобы позже вызвать сериализатор, в который я добавил модель Posts

Модели:

class User(AbstractUser):
    pass

class Post(models.Model):
    user = models.ForeignKey("User", on_delete=models.CASCADE, related_name='posts')
    body = models.TextField()
    def serialize(self):
        return {
            "id": self.id,
            "author": self.user.first_name +" " + self.user.last_name
        }



class UserFollowing(models.Model):
    user_id = models.ForeignKey("User", on_delete=models.CASCADE, 
                    related_name ='following', null=True)
    following_user_id = models.ForeignKey("User", on_delete=models.CASCADE, 
                    related_name='followers', null=True)
        

Я пытался использовать select_related, но я думаю, что он не может работать с этими моделями. В принципе, я ищу что-то вроде этого:

u = User.object.get(id=num)
followers = u.followers 
followers_posts = followers.posts.all()

Возвращается последняя строка: 'RelatedManager' object has no attribute 'posts'

Это вернет все сообщения, за которыми следит пользователь

user_instance = User.objects.only('id').get(pk=num)

following_users = UserFollowing.objects.filter(
    user_id=user_instance
).values('following_user_id')

posts = Posts.objects.filter(user__in=following_users)
Вернуться на верх