首页 > 解决方案 > 如何在 Django REST framework mixin 中引用子类?

问题描述

在 Django Rest Framework 中,我正在尝试为视图集中的以下两种方法编写一个 mixin:

class OrderViewSet(viewsets.ModelViewSet):
    # ...
    def get_object(self):
        pk = self.kwargs.get('pk')

        if pk == 'me':
            user = self.request.user
            return get_object_or_404(Order, user=user.pk)

        return super(OrderViewSet, self).get_object()

    def get_queryset(self):
        user = self.request.user
        return Agent.objects.filter(user=user)

这似乎很简单,除了super(OrderViewSet, self)因为我需要在声明之前以某种方式在我的 mixin 类中引用不同的视图集类。有小费吗?

标签: pythondjangooopdjango-rest-frameworkmixins

解决方案


使用新风格的 super() 调用

return super().get_object()

推荐阅读