26
Июл
2017

Фильтрация списка фильтров в django-filter

Здравствуйте, у меня есть фильтруемая модель

class Sku(object):
    manufacturer = ForeignKey(SomeModel)

Я хочу отфильтровать по полю manufacturer, но с учетом только тех manufacturer которые есть у отображенных Sku, не подскажете куда смотреть? Немного кода о котором речь:

class SkuFilter(django_filters.FilterSet):
    # manufacturer__title = django_filters.CharFilter(lookup_expr='icontains')

    class Meta:
        model = Sku
        fields = ['manufacturer', ]


# кусок из views 
# ...
     c['skus'] = self.object.skus.filter(hide=False, prices__price_type=PRICE_ROZN).prefetch_related('prices',
                                                                                                        'stock').all().order_by(
            'prices__value')
        sku_filter = SkuFilter(self.request.GET, c['skus'])
# ...

То есть в итоге может быть 4 товара в c['skus'], а производители в фильтре отображаются все, а нужны только те что есть у этих четырех товаров.

Источник: https://ru.stackoverflow.com/questions/697843/%D0%A4%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%BE%D0%B2-%D0%B2-django-filter

Share

Тебе может это понравится...