Получить все объекты, определенные отношением Django ManyToManyField
Сайт, который я создаю, позволяет пользователям создавать "посты" и имеет Twitter-концепцию подписчиков. Для данного пользователя я хотел бы показать все сообщения пользователей, на которых они подписаны.
Вот мои упрощенные модели:
class User
# a standard django.contrib.auth user model
class UserProfile(models.Model):
# my AUTH_PROFILE_MODULE for django-profiles
user = models.ForeignKey(User, unique=True)
following = models.ManyToManyField('self', symmetrical=False, related_name="followed_by")
class Posts(models.Model):
user = models.ForeignKey(User)
post = models.TextField()
Вопрос: Как создать набор запросов для всех объектов Post из пользователей, за которыми следует данный пользователь?
Я думаю, что я сделал это более сложным, создав отношение "следовать" на UserProfile, который не является моделью с отношением ForeignKey с сообщениями.
ОБНОВИТЬ! Вот ответ:
Posts.objects.filter(user__userprofile__in=UserProfile.objects.get(user=your_user_object).following.all())
1 ответ
Решение
Posts.objects.filter(user__in=UserProfile.objects.get(user=your_user_object).following)