Ответы пользователя по тегу Django
  • Как избавиться от дублирования информации в django?

    @NerVik Автор вопроса
    Проблему решил, хоть и не очень нравящимся мне способом. не чувствую от него удовлетворения ;)

    до этого момента на дев версия была на SQLite, ради удобства. Пришлось перейти на PostgreSQL ради улучшенного .distinct().

    теперь вьюха выглядит примерно так:

    class BooksSummary(DetailView):
        model = BookSummary
    
        def get_context_data(self, **kwargs):
            context = super(BooksSummary, self).get_context_data(**kwargs)
            context['books'] = self.object.book_set.all()
            context['series'] = self.object.bookseries_set.all()\
                .select_related('series',
                                'book',
                                'booksummary')\
                .order_by('series')\
                .distinct('series')
            return context
    Ответ написан
    Комментировать