@tanyaa

Как изменить порядок полей в FilterSet Django?

Добрый день.
Как сделать так, чтобы на странице поля в фильтре отображались в том порядке, в котором они указаны в параметре fields?

Filters.py:
class CasesFilter(django_filters.FilterSet):

    Field1=DateTimeFromToRangeFilter()
    Field2=DateTimeFromToRangeFilter()
    class Meta:
        model = Model1

        fields={'id' :['exact'],
                'Field1':['exact'],
                'Field2':['exact'],
                'Field3':['exact'],

        }


Template:
<div >
    <form action="" method="get" class="form-inline">
        {{filter.form|crispy }}
       
            <input type="submit" value="Искать" />
       
    </form>

</div>
  • Вопрос задан
  • 233 просмотра
Пригласить эксперта
Ответы на вопрос 1
@hodasman
Такой же вопрос. Только у меня помимо полей из мета класса есть еще поля OrderingFilter и CharFilter. Каждый раз они выводятся в рандомном порядке.
class DevicesFilter(django_filters.FilterSet):
    title = django_filters.CharFilter(label='Поиск по названию', field_name='title', lookup_expr='contains')
    def __init__(self, *args, **kwargs):
        super(DevicesFilter, self).__init__(*args, **kwargs)

    o = django_filters.OrderingFilter(
        # tuple-mapping retains order
        fields=(
            ('created_at', 'По дате'),
            ('title', 'По названию'),
        ),

        label = 'Сортировка'
    )
    o.descending_fmt = _("%s (обратный)")
    
    class Meta:
        model = Devices
        fields = {
            
            'category',
            'platforms',
            'author',
        }


65b7e6b5876ea758833452.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы