Задать вопрос
  • Как задать в фильтре значение по умолчанию в форме Django?

    @Sanchez9891 Автор вопроса
    Спасибо, Dr. Bacon, навёл меня на правильные мысли.
    Оставляю код для потомков.

    Удаляем get_context_data

    class ReceiptView(FilterView):
        model = Receipt
        template_name = 'receipts/receipts.html'
        context_object_name = 'receipts'
        filterset_class = ReceiptsFilter
        filter_backends = (filters.DjangoFilterBackend,)
    
        error_message = gettext_lazy('У вас нет прав на просмотр данной страницы! '
                                     'Авторизуйтесь!')
        login_url = 'login'


    В форме к QuerySet добавляем .distinct()

    class ReceiptsFilter(django_filters.FilterSet):
        names_seller = Receipt.objects.values_list('name_seller', 'name_seller').distinct()
        name_seller = filters.ChoiceFilter(label='Seller', choices=names_seller)
    
        class Meta:
            model = Receipt
            fields = ('name_seller', )



    В шаблоне должно получится так:
    {% for receipt in object_list %}
    {% endfor %}
    Ответ написан
    Комментировать
  • Почему не передаются данные из формы?

    @Sanchez9891 Автор вопроса
    Всё оказалось проще некуда.
    Надо убрать метод у формы, так как он есть в запросе AJAX. После этого письма с данными из формы начали приходить.
    Эмиль 🔥 спасибо большое, твоё способ помог, но при этом данные не передавались.
    5eafb5cd74fa0347211330.jpeg
    поменял обратно, стало работать как по маслу.
    Ответ написан
    Комментировать