Django Rest Framework Связанный запрос? - PullRequest
0 голосов
/ 04 мая 2020

Существует 3 модели, Статья (пост) Подписаться (Чтобы подписаться на пользователя) Пользователь, Как я могу получить все сообщения пользователя, на которого я подписан?

class Article(models.Model):
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    slug = models.SlugField(db_index=True, unique=True, max_length=255)
    title = models.CharField(max_length=255)
    subtitle = models.CharField(blank=True, max_length=400)
    body = RichTextUploadingField()


class Follow(models.Model):
    user_from = models.ForeignKey(User,
                                  related_name='rel_from_set',
                                  on_delete=models.CASCADE)

    user_to = models.ForeignKey(User,
                                related_name='rel_to_set',
                                on_delete=models.CASCADE)

    created = models.DateTimeField(auto_now_add=True,
                                   db_index=True)


class User(models.Model):
    pass

1 Ответ

0 голосов
/ 04 мая 2020

Попробуйте, чтобы получить все сообщения от всех пользователей, а затем request.user:

Article.objects.filter(author_id__in=self.request.user.rel_from_set.all().values_list('user_to_id'), flat=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...