首页 > 解决方案 > 序列化程序中的数据始终为空

问题描述

我有以下序列化程序:

class AdminSerializer(serializers.Serializer):
    def validate(self, data):
        user = data.get("user_pk")
        total_licenses = data.get("total_licenses")
        #here i do some validation with the vars

但是我的数据总是空的。这是我观点的一部分

serializer_class = self.get_serializer_class()
serializer = serializer_class(
    data=self.request.data,
)
serializer.is_valid(raise_exception=True)

这是我的单元测试请求:

response = self.client.patch(
    url,
    data={"user_pk": self.user.pk, "total_licenses": 3},
)

为什么我的“数据”总是空的?

标签: pythondjango

解决方案


您需要先调用serializer.save(),然后才能访问.data序列化程序上的属性。否则,您可以访问.validated_data序列化程序上的属性


推荐阅读