Загрузка XML файлов в Django, разбор XML и сравнение с существующим набором данных моделей

Может ли кто-нибудь подсказать мне лучший подход для приведенного ниже случая использования?

  1. upload XML file
  2. Scan XML file with specific tags
  3. Store required data in which format ? (I thought of building JSON dump ?)
  4. I have data in different models for different components.
  5. How can i compare data that i have in step3 with django models and produce some output ? ( Sort of data comparison )

Примечание: JSON дамп, который я получаю на шаге 3, является полным дампом необходимых данных, а данные на шаге 4 относятся к маленьким фрагментам данных, которые должны быть объединены и сравнены с недавно загруженным файлом JSON дампа

  1. Я бы определил Модель, в которой можно хранить загруженный файл и форму. (https://docs.djangoproject.com/en/3.2/topics/http/file-uploads/#handling-uploaded-files-with-a-model)
  2. Для сканирования XML-файлов используйте lxml etree или generateDS. (https://www.davekuhlman.org/generateDS.html)
  3. Для хранения вы можете использовать JSON-дамп или Picklefield, в котором вы можете хранить объект XML-файла, если вы используете generateDS
  4. .
  5. Храните данные в базе данных и напишите для них модель на Django. Постарайтесь сделать ее как можно более детализированной, чтобы вы могли сравнивать новый XML-файл при импорте и, возможно, хранить разницу только в виде объектов с помощью Pickle.

Надеюсь, это немного поможет.

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