Django从视图中的序列化器类获取模型

时间:2019-05-21 11:01:51

标签: django django-rest-framework

我正在使用 Django 2.x Django REST Framework

我有一个类似的序列化器

class DestroyAccountSerializer(serializers.ModelSerializer):
    class Meta:
        model: User

并查看

class DeleteAccountView(generics.DestroyAPIView):
    serializer_class = DestroyAccountSerializer
    permission_classes = (IsAuthenticated,)

    def get_object(self):
        # return self.get_serializer().Meta.model.objects.get(pk=self.request.user.pk)
        return self.request.user

我想使用在序列化程序中定义的视图中定义的模型。我尝试过

self.get_serializer().Meta.model

但这会导致错误

AttributeError: type object 'Meta' has no attribute 'model'

如何在视图中让序列化程序类使用模型?

2 个答案:

答案 0 :(得分:5)

您的语法使用错误-> = 插入了

class DestroyAccountSerializer(serializers.ModelSerializer):
    class Meta:
        model = User

推荐this

答案 1 :(得分:0)

你可以通过这个语法获取模型类

model = self.serializer_class.Meta.model