Как добавить XML-файл в таблицу postgreSQL с помощью python в Django

Сначала я подключился к postgreSQL в settings.py и добавил свое приложение - 'oapp' в INSTALLED_APPS. Затем я создал свою таблицу в models.py

models.py:

class Activity(models.Model):
    date = models.DateField(default=None)
    time = models.TimeField(default=None)
    function = models.CharField(max_length=10, default = None)
    status = models.CharField(max_length=10,default=None, blank=True, null=True)
    logfilename = models.CharField(max_length=128)

после этого я перенес свою таблицу и таблица была создана в postgreSQL. В настоящее время я добавил XML-данные в таблицу postgreSQL, добавив код в командной оболочке

код командной оболочки:

from oapp.models import Activity

import os
import xml.etree.ElementTree as ET
from xmldiff import main, formatting


file_1 = 'sample.xml'



def xmlparse():
    data =  ET.parse(file_1)
    root = data.findall("record")
    for i in root:
        date = i.find('date').text
        time = i.find('time').text
        function = i.find('function').text
        status = i.find('status').text
        logfilename = i.find('logfilename').text
        x = Activity.objects.create(date=date, time=time, function=function, status=status, logfilename=logfilename)
        x.save

xmlparse()

Но я хотел запустить его как код python. Когда я запускаю его как код python, он выдает ошибку module not found. Это работает только в командной оболочке. Я хочу запустить его как код python.

ошибка при запуске от имени python:

Traceback (most recent call last):
  File "c:\Users\ostin\Desktop\nohope\projectq\qapp\qcode.py", line 1, in <module>
    from qapp.models import newrecord
ModuleNotFoundError: No module named 'qapp'

Думаю, будет лучше, если вы создадите новый файл test.py в проекте и добавите в него эти коды:

def xmlparse():
data =  ET.parse(file_1)
root = data.findall("record")
for i in root:
    date = i.find('date').text
    time = i.find('time').text
    function = i.find('function').text
    status = i.find('status').text
    logfilename = i.find('logfilename').text
    x = Activity.objects.create(date=date, time=time, function=function, status=status, logfilename=logfilename)
    x.save

Теперь откройте оболочку python:

>>>from oapp.test import
>>>import os
>>>import xml.etree.ElementTree as ET

>>>file_1 = 'sample.xml'

xmlparse()

Это будет лучше, чем вводить весь упомянутый вами код в оболочку py. Надеюсь, это поможет ;P

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