我的模型看起来像这样:
field_1 = models.IntegerField(choices=FIELD_CHOICES, blank=True, null=True)
field_2 = models.IntegerField(choices=FIELD_CHOICES, blank=True, null=True)
我想用django_filters创建一个过滤器,将这两个单独的字段组合成一个单独的ChoiceFilter。我怎么能这样做?
答案 0 :(得分:2)
您可以指定用于过滤自定义字段的方法:
class YouFilter(FilterSet):
new_field = ChoiceFilter(method='filter_new_field', choices=FIELD_CHOICES)
class Meta:
model = User
fields = ('username', 'first_name', 'last_name', 'new_field')
def filter_new_field(self, queryset, name, value):
return queryset.filter(
field_1=value,
field_1=value
)