小编No_*_*Fun的帖子

django rest框架基于自定义类反序列化对象

我想反序列化这个json:

json1 = {
    "age" : "22",
    "name" : "Bob",
    "lastname" : "Andrew",
    "contactList" : [
    { "friend" : "Alice"},
    {  "friend" : "John"}
]}
Run Code Online (Sandbox Code Playgroud)

我创建了以下类(我不想创建任何模型,因为我对将它们保存在数据库中不感兴趣):

class Friend(object):
    def __init__(self, friend):
        self.friend = friend

class Person(object):
    def __init__(self, age , name , lastname, contactList):
        self.age=age
        self.name = name
        self.lastname = lastname
        self.contactList= []   #possible error here 
Run Code Online (Sandbox Code Playgroud)

以及以下序列化程序:

class FriendSeriliazer(serializers.Serializer):
    friend = serializers.CharField()

    def create(self, validated_data):
        return Friend(**validated_data)

class PersonSerializer(serializers.Serializer):
    age = serializers.CharField()
    name = serializers.CharField()
    lastname = serializers.CharField()
    contactList = …
Run Code Online (Sandbox Code Playgroud)

python django deserialization django-rest-framework

5
推荐指数
1
解决办法
2224
查看次数