Переопределение метода набора запросов в Django

Я пытаюсь переопределить get_queryset в классе django ViewSet, но получаю ошибку маршрутизатора :

extra_actions = viewset.get_extra_actions() AttributeError: объект 'function' не имеет атрибута 'get_extra_actions'

Вот мой класс ViewSet :

class InvestmentViewSet(NestedViewSetMixin, ModelViewSet):
    """
    A viewset that provides `retrieve`, `create`, and `list` actions for Investments.

    """
    model = Investment
    serializer_class = InvestmentSerializer
    queryset = Investment.objects.all()

    def get_active_investment(self):
        """Get active investment
        Only One investment/startup is active
        """
        queryset = Investment.objects.all()
        active = self.request.query_params.get('active')
        if active is True:
            queryset = queryset.filter(investment_status=active)
        return queryset

Вот как я вызываю его с помощью маршрутизатора :

from django.conf import settings
from django.contrib import admin
from django.urls import path, re_path
from django.views.static import serve
from rest_framework_extensions.routers import ExtendedSimpleRouter

from back import views

router = ExtendedSimpleRouter()
(
    router.register(r'api/startups', views.StartUpViewSet, basename='startup')
          .register(r'investments', views.InvestmentViewSet.get_active_investment, basename='startups_investment',
                    parents_query_lookups=['startup'])



)

urlpatterns = [
    path('admin/', admin.site.urls),
    *router.urls,
    re_path(r'media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}),

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