Anuj TBE
Anuj TBE

Reputation: 9800

Django get model from serializer class from view

I'm using Django 2.x and Django REST Framework

I have a serializer like

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

and view

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

I want to use the model defined in the view which is defined in the serializer. I tried with

self.get_serializer().Meta.model

But this gives an error

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

How to get model being used by the serializer class in the view?

Upvotes: 1

Views: 6952

Answers (2)

Saurabh Chandra Patel
Saurabh Chandra Patel

Reputation: 13586

you can get model class by this syntext

model = self.serializer_class.Meta.model

Upvotes: 4

rahul.m
rahul.m

Reputation: 5854

your syntax is wrong use --> = insted of :

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

refer this

Upvotes: 5

Related Questions