DRF : Вопрос о фильтрации с помощью manytomany

У меня есть две модели с отношениями "многие ко многим". У меня есть модель с 3 тегами для категоризации всех информационных объектов.

class Tag(models.Model):
    name= models.CharField(unique=True, max_length=100)

class Info(models.Model):
    title = models.CharField(max_length=120)
    tag = models.ManyToManyField(Tag, blank = True)

Я хочу иметь список, в котором будут перечислены все соответствующие информационные объекты на основе тега, запрошенного пользователем.

Я хотел бы знать, является ли то, что я делаю, правильным подходом, поскольку это мой первый раз, когда я создаю API, и я не создавал никаких фронтендов с использованием бэкенд API раньше, поэтому не уверен, правильно ли мое понимание/подход.

Вопрос, что мне делать :

Сделайте конечную точку API списка Tag.objects.all(), чтобы раскрыть все теги и позволить фронтенду сортировать список, запрошенный пользователем, с помощью чего-то вроде --> requested_relevant_tags.info_set.all() . Обратный поиск. во фронтенде. В этом случае все, что я делаю для backenbd API - это просто Tag.objects.all().

Сделайте 3 конечных точки Info.objects.filter(tag = whatever_number1,2,3) для перечисления информации на основе тегов. И когда клиент запрашивает, скажем, Info.objects.filter(tag =1), то я просто получаю захват этой конечной точки?

Мне трудно представить себе реальное применение этого с фронтендом. Пользователь должен "кликнуть" на тег -> фронтенд делает это с помощью 1 метода. список соответствующих информационных моделей, "клик" на конкретной модели для получения более подробной информации.

^^^^ Весь процесс и логика построены на фронтенде? А DRF,API - это просто КОНЕЧНАЯ точка для отображения всех необходимых данных и все. Я спрашиваю об этом, так как часто оказываюсь в неведении относительно того, как много мне нужно сделать для бэкенда API. Заранее спасибо!

Вернуться на верх