Django restframework преобразование json в модель

Я новичок в Django и создаю конечную точку API, которая будет получать входящий запрос, разбирать его, итерировать список устройств и делать запрос к другому api. Я жестко закодировал структуру JSON, но чувствую, что было бы лучше использовать модель типа сериализатора для создания postbody, однако, я пробовал несколько раз и не добился успеха или не вижу, как это сделать?

Тело входящего запроса:

{
    "username" : "joe123",
    "devices" : ["iphone13", "laptop"]
}

План состоит в том, чтобы взять приведенный ниже пример с жесткой кодировкой, а затем сделать несколько запросов к другому API, используя список устройств

requestBody = json.dumps(request.data)
rawjson=json.loads(requestBody)
print(rawjson['username'])
print(rawjson['devices'])

for alias in rawjson['devices']:
    postbody = {
        "alias": f"{alias}",
        "user-objects": [
            {
                "name": f"{r['username']}]",
                "object-type": "byod"
            }
        ]
    }
    
    headers = {
        'Authorization': 'Basic dGVzdDp0ZXN0Cg=='
    }

    response = requests.request("POST", url, headers=headers, data=postbody, verify=False)
    r_status = response.status_code
    ....
    ....etc

Поэтому я создал файл serializers.py и добавил в него следующее:

from rest_framework import serializers

class UserObjectsSerializer(serializers.Serializer):
    username = serializers.CharField()
    object-type = serializers.CharField()

class AliasSerializer(serializers.Serializer):
    alias = serializers.CharField()
    user-objects = UserObjectsSerializer(many=True)

Я не знаю, как правильно отобразить входящее имя пользователя и список устройств из объекта json в этот объект на основе класса, чтобы я мог создать postbody JSON без использования жестко закодированной структуры выше?

Моей последней попыткой было добавить следующий сериализатор в цикл for, но все закончилось ошибкой:

...forloop and json parsing...
#try to serialize using the class object
ls = LabelSerializer(alias=rawjson['alias'],referenced_objects=rawjson['labels'])

#Error
TypeError: Field.__init__() got an unexpected keyword argument 'alias'
Вернуться на верх