我在我的模型中使用了一个Postgres ArrayField。我尝试使用Django过滤器,但是我遇到了一个错误。
AutoFilterSet将字段“flavor”解析为“exact”查找并识别不了ArrayField字段类型。尝试向'Meta.filter_overrides'添加重写。参见:https://django-filter.readthedocs.io/en/master/ref/filterset.html#customise-filter-generation-with-filter-overrides
模型
class Items(models.Model):
item = models.CharField(max_length=150, unique=True)
matches = ArrayField(models.CharField(
max_length=200), blank=True, default=list)
category = ArrayField(models.CharField(
max_length=200), blank=True, default=list)
flavor = ArrayField(models.CharField(
max_length=200), blank=True, default=list)
special = ArrayField(models.CharField(
max_length=200), blank=True, default=list)
created_at = models.DateTimeField(auto_now_add=True)
视图集
class CategoryViewSet(viewsets.ModelViewSet):
queryset = Items.objects.all()
serializer_class = CategorySerializer
filter_fields = ('item', 'category')