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

Документы: https://django-filter.readthedocs.io/en/latest/guide/rest_framework.html#adding-a-filterset-with-filterset-class

Вернуться на верх