私のアプリでは、xml 解析と呼ばれる関数を含めています。xml ファイルからデータを取得し、それを mysql データベースに保存しようとしています。
Google エンジンの助けを借りてこれをコーディングしましたが、必要に応じてデータがデータベースに保存されていません。エラーなしでアプリを実行できます。
以下の私のコードを見てください
ビュー.py
def goodsdetails(request):
path = "{0}shop.xml".format(settings.PROJECT_ROOT)
xmlDoc = open(path, 'r')
xmlDocData = xmlDoc.read()
xmlDocTree = etree.XML(xmlDocData)
for items in xmlDocTree.iter('item'):
item_id = items[0].text
customername = items[1].text
itemname = items[2].text
location = items[3].text
rate = items[4].text
shop=Shop.objects.create(item_id=item_id,customername=customername,
itemname=itemname,location=location,rate=rate)
shop.save()
shops = Shop.objects.all()
context={'shops':shops}
return render(request,'index.html', context)
上記のロジックを使用して、xml ファイルからデータベースにデータを保存しています。エラーは発生していませんが、データベースに保存されていません。
期待される回答は大歓迎です。
*更新: * コードを更新しました。実際には xml データは db に保存されますが、同じデータを表示しているときに、次のトレースバックが表示されます
IntegrityError at /
(1062, "Duplicate entry '101' for key 'PRIMARY'")
ありがとう