-1
我必須創建一個從csv導入數據到已存在的django模型的應用程序。我使用了django-adaptator工具,它可以輕鬆完成。例如,我有一個Sates(=「Pays」)模型,其中包含3個字段:名稱,代碼和國籍。從django的csv導入數據 - Has_header屬性不會忽略第一行
我的CSV:
nom;abrev;nationalite
AFGHANISTAN;AF;Afghane
AFRIQUE DU SUD;ZA;Sud-africaine
這裏是我的代碼
Models.py已經存在:
class Pays(models.Model):
pays = models.CharField(max_length=150)
codeiso3166alpha2 = models.CharField(max_length=2)
nationalite = models.CharField(max_length=50, null=True, blank=True)
maj = models.DateTimeField(auto_now=True)
class Meta:
db_table = u'Pays'
def __unicode__(self):
return self.pays
Models.py從我的應用程序:
# coding: utf-8
from django.db import models
from polyc2n.models import Pays #the model that already exists
from adaptor.model import CsvDbModel
class MyCSVDbModel(CsvDbModel):
class Meta:
exclude = ['maj']
dbModel = Pays
delimiter = ";"
has_header = True
update = {'keys': ['codeiso3166alpha2']}
我的views.py:
# coding: utf-8
from django.shortcuts import render
from remplirPays.models import MyCSVDbModel
from django.http import HttpResponse
path = "pays.csv"
def DataPays(request):
MyCSVDbModel.import_data(data = open(path))
return HttpResponse("import is ok")
這是我的問題:當我進行導入時,即使將「has_header」屬性設置爲True,第一行也不會被忽略。你們知道爲什麼,或者你知道我該如何解決我的問題?
感謝您閱讀
你在說哪個位? 這是我的models.py中的「has_header = True」,不起作用 – Lydia
你打了個什麼? 我沒有什麼比這些代碼+ csv – Lydia
我不明白你的句子 實際上,「has_header = True」這一行必須忽略我的csv的第一行(即nom; abrev; nationalite)。所以這行不應該被導入到我的數據庫中。 問題是這行不會被忽略,並在我的數據庫中的數字 – Lydia