在 Django 中选择更多过滤器
Posted
技术标签:
【中文标题】在 Django 中选择更多过滤器【英文标题】:Select2 more filter in Django 【发布时间】:2022-01-01 10:35:21 【问题描述】:我在下面有这段代码,我在我的选择组件中使用Select2,它工作正常,因为我正在写它正在寻找,但我已经在互联网上搜索了如何自定义的示例在小部件中运行的查询集,有帮助吗?
select2 works very well
class ConsumidorWidget(s2forms.ModelSelect2Widget):
search_fields = [
"nome__icontains",
"email__icontains",
]
class ConsumoForm(forms.ModelForm):
class Meta:
model = Consumo
fields = ('id', 'consumidor', 'mesconsumo', 'anoconsumo', 'valorapagar', 'valorhidrometro',
'dataleitura', 'datamissao', 'datavencimento', 'foipago',)
exclude = ('bairro',)
mesconsumo = forms.ChoiceField()
widgets =
"consumidor": ConsumidorWidget,
【问题讨论】:
【参考方案1】:使用ModelChoiceField
:
consumidor = forms.ModelChoiceField(
queryset=Consumo.objects.all(),
widget=ConsumidorWidget)
或者您可以尝试覆盖__init__
方法:
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['consumidor'].queryset = Consumo.objects.all()
【讨论】:
以上是关于在 Django 中选择更多过滤器的主要内容,如果未能解决你的问题,请参考以下文章
当在另一个下拉列表上进行选择时,如何在 Django 的管理员中过滤下拉列表