Djoser- переопределить метод perform_create класса UserViewSet

Нужно переопределить метод perform_create класса Djoser UserViewSet. Я не знаю, как это сделать, может ли кто-нибудь мне помочь. Метод из UserViewSet

def perform_update(self, serializer):
    super().perform_update(serializer)
    user = serializer.instance
    signals.user_updated.send(
        sender=self.__class__, user=user, request=self.request
    )

    # should we send activation email after update?
    if settings.SEND_ACTIVATION_EMAIL and not user.is_active:
        context = {"user": user}
        to = [get_user_email(user)]
        settings.EMAIL.activation(self.request, context).send(to)

Мои шаблоны URL

from django.urls import URLPattern, path, re_path, include
from . import views
from .views import MyTokenObtainPairView, GetUser, ReviewsView, GetReviewsByUser
from rest_framework_simplejwt.views import (
TokenRefreshView,
)


urlpatterns = [
path('', views.getRoutes),
path('api/token/', MyTokenObtainPairView.as_view(),
     name='token_obtain_pair'),
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
path('api/auth/', include('djoser.urls')),
path('api/user/', GetUser),
path('api/user/<int:pk>/', GetReviewsByUser),
path('api/reviews/', ReviewsView),

]

Вы, вероятно, уже нашли решение, но другие могут найти это полезным.

Для того чтобы переопределить метод perform_create, необходимо сначала подкласс класса UserViewSet, а затем переопределить метод perform_create. Вот пример

views.py

from djoser.views import UserViewSet

class CustomSignupView(UserViewSet):
    def perform_create(self, serializer):
    #you can have your custom implemtation here

urls.py

urlpatterns = [
    path('signup/', views.CustomSignupView.as_view({'post': 'create'})),
]
Вернуться на верх