У меня есть вопрос о django вложенной модели.
Как я знаю, для обработки вложенной структуры данных я должен десериализовать все данные, а затем создать объект, который будет связан с ForeignKeyField.
Я мог бы справиться с этим, переопределив метод .create()
, разделив все вложенные данные на .pop()
и создав каждую объектную модель отдельно. Вот пример того, как я обрабатываю вложенные данные 2 уровня (на основе документации: Документация DRF )
def create(self, validated_data):
child_data = validated_data.pop('child_data')
parent_obj = ParentModel.objects.create(**validated_data)
for data in child_data:
ChildModel.objects.create(parent_id=parent_obj, **data)
return parent_obj
У меня возникли некоторые проблемы. У меня есть многоуровневая структура данных, возможно, как данные ниже:
"data_a": [
{
"data_a_1": [
{
"data_a_1_1": [
{
"data_a_1_1_1": "example_a_1_1_1",
"data_a_1_1_2": "example_a_1_1_2"
}
]
},
{
"data_a_1_2_1": "Example a-1-2-1",
"data_a_1_2_2": "Example a-1-2-2"
}
]
"data_a_2": [
{
"data_a_2_1": "Example a-2-1"
},
{
"data_a_2_2": "Example a-2-2"
}
]
}
]
Мой вопрос:
- Каков наилучший способ обработки динамических c структура данных, как это? Для обработки нескольких многоуровневых структур данных потребуется длинный жестко заданный сценарий путем переопределения
.create()
, как я упоминал выше. - Есть ли еще какие-либо рекомендации по обработке упомянутой структуры данных?