Как импортировать Json-файл в базу данных django с сохранением ссылок на объекты
У меня есть настольное приложение на C# и веб-приложение django, которые используют набор общих типов классов/моделей. Приложение C# экспортирует json файлы, содержащие экземпляры этих моделей, а я пытаюсь импортировать их в базу данных django.
Сложность заключается в том, что родительская модель, содержащаяся в json-файле, имеет свойства, которые могут ссылаться на одну и ту же подмодель в нескольких местах. Например, json-файл выглядит примерно так:
{
"$id": "1",
"SubModels": {
"$id": "2",
"$values": [
{
"$id": "3",
"name": "Dave",
"value": "123"
},
{
"$id": "4",
"name": "John",
"value": "42"
}
]
},
"PreferredSubModel: {
"$ref": "4"
}
}
который был создан с помощью библиотеки using System.Text.Json.Serialization
C# с опцией ReferenceHandler = ReferenceHandler.Preserve
сериализации. В django я преобразовал json файл в словарь, используя model_dictionary = JSONParser().parse(json_file)
.
Есть ли какие-либо существующие функции (в среде django Python), которые могут обрабатывать эту систему $id
/$ref
для поддержания экземпляров классов, или мне нужно написать свой собственный десериализатор? Если последнее, есть ли у кого-нибудь предложения по лучшему способу работы с ним?
Я новичок в django и json файлах, так что надеюсь, что я просто гуглил неправильные термины и что-то существует...