@PenguinVasily

Как правильно отфильтровать объекты бд Django?

У меня есть модель, содержащая в себе текст анекдота и теги для этого анекдота.

Модель:
class Anecdote(models.Model):
    text = models.CharField(max_length=1000)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
    time_published = models.DateTimeField(auto_created=True)
    tags = models.ManyToManyField(Tag, blank=True)

    def __str__(self):
        return self.text

Когда я пытаюсь получить, в представлении, анекдоты по конкретному тегу, то получаю либо повторы, либо объекты, которые не содержат нужный тег.

Попытка получить нужные анекдоты:
anecdotes = Anecdote.objects.filter(tags__anecdote__tags=Tag.objects.last())

Может я неправильно фильтрую теги?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
@PenguinVasily Автор вопроса
Понял в чём ошибка. Нужно было просто фильтровать по tags.

Итоговый вариант:
anecdotes = Anecdote.objects.filter(tags=Tag.objects.last())
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы