AttributeError: объект типа 'StaffFilter' не имеет атрибута '_meta'
Когда я пытаюсь получить доступ к урлам, он продолжает возвращать AttributeError: type object 'StaffFilter' has no attribute '_meta'
. Однако я уже объявил _meta
в filters.py, но ошибка продолжает возвращаться. Есть ли способ решить эту проблему?
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',]
Используете ли вы filter_backends = (filters.DjangoFilterBackend,)
и filterset_class = StaffFilter
в вашем API View?
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