Как добавить в db sql строки из xml документа на django?
У меня есть xml документ с чужого сайта и мне нужно обновить свою db Но я впервые имею дело с xml файлами и не знаю как с ними работать.
XML
<shop>
<name>SHOP</name>
<currencies>
<currency id="RUB" rate="74.0000000000"/>
<currency id="USD" rate="1.0000000000"/>
</currencies>
<categories>
<category id="25" parentId="19">Одежды</category>
<category id="28" parentId="19">Машины</category>
<category id="29" parentId="19">Спорт</category>
</categories>
<offers>
<offer available="true" group_id="1245" id="6549">
<price>405</price>
<old_price>675</old_price>
<currencyId>USD</currencyId>
<name>Платье красное</name>
<description><![CDATA[<p>Стильное платье выполнено из натуральной ткани в яркой цветочной расцветке </p>]]></description>
<categoryId>25</categoryId>
<param name="Вид">Платья</param>
<param name="Размер">XS</param>
</offer>
</offers>
</shop>
models.py
class Categorie(models.Model):
name = models.CharField('categorie_name', max_length=50)
class Currency(models.Model):
name = models.CharField('currency_name', max_length=3)
price = models.IntegerField('currency_price')
class Param(models.Model):
name = models.CharField('name', max_length=50)
type = models.CharField('type', max_length=50)
class Offer(models.Model):
price = models.IntegerField('offer_price')
old_price = models.IntegerField('offer_old_price')
currencyId = models.ForeignKey(Currency)
categoryId = models.ForeignKey(Categorie)
name = models.CharField('offer_name', max_length=50)
description = models.CharField('offer_description', max_length=50)
param = models.ManyToManyField(Param, blank=True)
Добавление строк в моем понимании
from models import *
from djxml import xmlmodels
xml = xmlmodels.open('test.xml')
categories = xml.get('shop/categories')
for x in categories:
cat = Categorie(name=x.text(), id=x.attr('id'))
cat.save()
нет ли каких то готовых модулей для django? может кто нибудь мне объяснить как это сделать дать примеры что бы я понимал как с этим работать