在我看来:
data = {
"user":user_dict, # the user_dict have data.
"account":account_dict # the account_dict have data too.
}
serializer = UserInfoSerializer(data=data)
is_valid = serializer.is_valid() # the `is_valid` is True
return Response(data=serializer.validated_data, status=HTTP_200_OK)
但是当我访问这个APIView时,我什么也得不到。你知道吗
UserInfoSerializer
代码如下:
class UserInfoSerializer(Serializer):
user = serializers.DictField(read_only=True)
account = serializers.DictField(read_only=True)
发生这种情况的原因是序列化程序.DictField应该被使用。创建dict字段时,需要告诉序列化程序字典中值的类型。例如,假设“user”是这样的字典:
{"user1": "bob", "user2": "alice"}
。然后,您需要告诉序列化程序子值是字符串或CharField:如果帐户是
{"account1": 1, "account2": 2}
,那么您可以这样做:我在本地进行了测试,似乎解决了这个问题。您可以阅读有关如何使用djangos docs here中DictField的更多信息。你知道吗
如果您的数据没有一致的单一类型的值,我建议使用JSONField,您可以阅读here。它看起来是这样的:
祝你好运!你知道吗
相关问题 更多 >
编程相关推荐