Как добавить 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