модель закладки:
class Bookmark(models.Model):
user = models.ForeignKey(User, related_name='users', on_delete=models.CASCADE)
post = models.ForeignKey(Post, related_name='posts', on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
app_label = 'content'
verbose_name_plural = _('Bookmarks')
unique_together = [['user', 'post']]
Я хочу, чтобы запрос возвращал закладки пользователя,
Я попробовал этот Bookmark.objects.filter(user_id=user.id).order_by('-created_at').posts()
, и он возвращает эту ошибку:
AttributeError: 'QuerySet' object has no attribute 'posts'
обновление:
Bookmark.objects.filter () возвращает набор запросов. У него нет атрибута posts, как говорит ошибка.
Однако вы можете пойти по другому пути. Поскольку вы хотите найти объекты Post, запросите модель Post вместо модели Bookmark.
Post.objects.filter (bookmarks__user = пользователь)
Подробнее смотрите здесь:
https://docs.djangoproject.com/en/2.2/topics/db/queries/#lookups-that-span-relationships