Django ChoiceField正在自动添加一个文本框。。?

2024-10-01 22:31:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Django表单自动添加一个文本输入字段和一个下拉菜单。我想要一个下拉菜单来过滤结果。这是我的代码:

在表单.py在

from haystack.forms import FacetedSearchForm
from django import forms

class FacetedProductSearchForm(FacetedSearchForm):

    desc = forms.ChoiceField(choices=[('n', 'Ascending'), ('y', 'Descending')], label='', initial='y')

    def __init__(self, *args, **kwargs):
        data = dict(kwargs.get("data", []))

        self.retailer = data.get('retailer', [])
        self.location = data.get('location', [])
        super(FacetedProductSearchForm, self).__init__(*args, **kwargs)

    def search(self):
        sqs = super(FacetedProductSearchForm, self).search()       

        if self.cleaned_data['desc'] == 'y':
            query = None

            sqs = sqs.order_by('-retailer')
        else:
            sqs = sqs.order_by('retailer')
        return sqs

在结果.html在

^{pr2}$

Tags: fromimportself表单datagetdefforms
1条回答
网友
1楼 · 发布于 2024-10-01 22:31:15

将此添加到您的选项字段:

widget=forms.Select,

根据文档:

A widget is Django’s representation of an HTML input element.

使用小部件,您将告诉django使用select呈现字段

希望能帮上忙

相关问题 更多 >

    热门问题