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'