[英]AttributeError: type object 'StaffFilter' has no attribute '_meta'
When i try to access the urls, it kept return AttributeError: type object 'StaffFilter' has no attribute '_meta'
.当我尝试访问网址时,它一直返回
AttributeError: type object 'StaffFilter' has no attribute '_meta'
。 However, i already declared _meta
in filters.py but the error kept returning.但是,我已经在 filters.py 中声明
_meta
,但错误一直返回。 Is there any way to solve this problem?有没有办法解决这个问题?
filters.py
from django_filters.rest_framework import FilterSet from django_filters import DateTimeFilter, BaseInFilter, CharFilter from.models import Staff class StaffFilter(FilterSet): department__in = BaseInFilter(field_name="department", lookup_expr='in') job_grade__in = BaseInFilter(field_name="job_grade", lookup_expr='in') class Meta: model = Staff fields = [ 'job_grade__in', 'department__in',]
Are you using filter_backends = (filters.DjangoFilterBackend,)
and filterset_class = StaffFilter
in your API View?您是否在 API 视图中使用
filter_backends = (filters.DjangoFilterBackend,)
和filterset_class = StaffFilter
?
from rest_framework import generics from django_filters import rest_framework as filters from myapp import Product class StaffList(generics.ListAPIView): queryset = Staff.objects.all() filter_backends = (filters.DjangoFilterBackend,) filterset_class = StaffFilter class StaffFilter(filters.FilterSet): department__in = BaseInFilter(field_name="department", lookup_expr='in') job_grade__in = BaseInFilter(field_name="job_grade", lookup_expr='in') class Meta: model = Staff
Docs: https://django-filter.readthedocs.io/en/latest/guide/rest_framework.html#adding-a-filterset-with-filterset-class文档: https://django-filter.readthedocs.io/en/latest/guide/rest_framework.html#adding-a-filterset-with-filterset-class
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.