Как импортировать 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 файлах, так что надеюсь, что я просто гуглил неправильные термины и что-то существует...

Вернуться на верх