我试图创建一种适用于表单的方法,但这里的类不适用
class TrainerFilter(django_filters.FilterSet):
price_lt = django_filters.NumberFilter(field_name="prise", lookup_expr='lt')
class Meta:
model = Profile
fields = ['direction', 'group', 'child', 'price_lt']
widgets = {
'direction': SelectMultiple(attrs={'class': 'custom-select'}),
}发布于 2019-08-23 20:51:56
如果有人偶然发现了这一点,一种解决方案可能是将类添加到字段的小部件属性中,如下所示:
class TrainerFilter(django_filters.FilterSet):
...
def __init__(self, data=None, queryset=None, *, request=None, prefix=None):
super(TrainerFilter, self).__init__(data=data, queryset=queryset, request=request, prefix=prefix)
self.filters['direction'].field.widget.attrs.update({'class': 'custom-select'})发布于 2020-04-21 07:13:01
你们已经很接近了。这应该是可行的:
class TrainerFilter(django_filters.FilterSet):
price_lt = django_filters.NumberFilter(field_name="prise", lookup_expr='lt')
direction = django_filters.CharFilter(widgets = SelectMultiple(attrs={'class': 'custom-select'}))
class Meta:
model = Profile
fields = ['group', 'child', 'price_lt']发布于 2020-07-27 05:53:40
class UsersFilter(django_filters.FilterSet):
class Meta:
model = UsersModels
fields = ['username', 'email', 'first_name', 'phone']
filter_overrides = {
models.CharField: {
'filter_class': django_filters.CharFilter,
'extra': lambda f: {
'lookup_expr': 'icontains',
'widget': forms.TextInput(attrs={'class': 'form-control'})
},
},
models.EmailField: {
'filter_class': django_filters.CharFilter,
'extra': lambda f: {
'lookup_expr': 'icontains',
'widget': forms.EmailInput(attrs={'class': 'form-control'})
},
},
}像这样
https://stackoverflow.com/questions/51639648
复制相似问题