В моем приложении Django у меня есть следующие две модели для событий, которым можно присвоить произвольное количество тегов.
class Tag(models.Model):
# ...
class Event(models.Model):
# ...
tags = models.ManyToManyField("Tag")
У меня также есть страница, где пользователь должен иметь возможность выбрать числотегов, а затем просмотреть все события, связанные с этим тегом.Имея список идентификаторов тегов, могу ли я использовать ORM Django для получения списка (отдельных) событий, связанных хотя бы с одним из указанных тегов?
Если нет, я также попытался добиться этого с помощью следующего необработанногоSQL
event.objects.raw("""
SELECT *
FROM app_name_event_tags t
WHERE t.tag_id IN %s
""", selected_tag_ids)
С этим связаны две проблемы:
1) Возвращенные события не будут различаться
2) Мой синтаксис для заполнителя списка selected_tag_idsневерно