python - 序列化程序中的数据始终为空
问题描述
我有以下序列化程序:
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},
)
为什么我的“数据”总是空的?
解决方案
您需要先调用serializer.save()
,然后才能访问.data
序列化程序上的属性。否则,您可以访问.validated_data
序列化程序上的属性
推荐阅读
- c++ - 使用 struct 动态分配内存
- python - Python中的购物篮和聚类
- dapper - 使用 Dapper 级联多重映射
- python - Python根据对象属性将对象列表拆分为子列表
- angular - Angular http客户端模块不显示响应
- selenium-webdriver - 无法将 SQL 服务器连接到 Selenium Webdriver
- c# - 在 Visual Studio 解决方案之间共享项目
- spring-boot - 在 Spring Boot 2.0.2 中禁用 Spring Security
- unity3d - Unity 2017 与 Unity 5.x “浮动”不同
- macos - 无法在 Mac OSx Yosemite 10.10 上停止 apache