В моем приложении Django я позволяю пользователям создавать коллекции фильмов по категориям.Это представлено с использованием 3 моделей: «Фильм», «Коллекция» и «Добавление» (модель «Добавление» хранит экземпляры фильма, коллекции и пользователя).Ниже приведены упрощенные версии всех трех моделей.
class Movie(models.Model):
name = models.CharField(max_length=64)
class Collection(models.Model):
name = models.CharField(max_length=64)
user = models.ForeignKey(User)
class Addition(models.Model):
user = models.ForeignKey(User)
movie = models.ForeignKey(Movie)
collection = models.ForeignKey(Collection)
Так, например, пользователь может создать коллекцию под названием «Фильмы 80-х» и добавить фильм «Индиана Джонс» в свою коллекцию.
Мой вопрос: как отобразить отдельный список фильмов на основе набора фильтров запросов?Прямо сейчас я получаю кучу дубликатов для тех фильмов, которые были добавлены в несколько коллекций.Обычно я использовал бы метод Different (), чтобы получить разные объекты, но в этом случае мне нужны разные фильмы, а не отдельные дополнения, но мне нужно запросить модель дополнения, потому что я хочу разрешить пользователю просматривать фильмы, добавленные их друзьями.
Оптимально ли я настраиваю свои модели?Любой совет / помощь будет высоко ценится.
Спасибо!