【问题标题】:Django get model from serializer class from viewDjango 从视图中的序列化程序类中获取模型
【发布时间】:2019-10-07 18:21:21
【问题描述】:

我正在使用 Django 2.xDjango REST 框架

我有一个类似的序列化器

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'

如何获取视图中序列化程序类正在使用的模型?

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

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

    model = self.serializer_class.Meta.model
    

    【讨论】:

      【解决方案2】:

      你的语法使用错误 --> = insted of :

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

      参考this

      【讨论】:

        猜你喜欢
        • 2017-10-20
        • 1970-01-01
        • 2021-12-04
        • 2014-01-05
        • 2016-02-09
        • 2020-11-15
        • 2013-01-07
        • 2018-09-12
        • 2012-01-31
        相关资源
        最近更新 更多