0
我已經Django模型定義爲上傳CSV文件到Django模型
class Event(models.Model):
event_id=models.IntegerField(primary_key=True)
OS_CHOICE=(('Win 2003','windows 2003'),
('Win 2008','Windows 2008'),
('Win XP','Windows XP'),
('Win VISTA','Win VISTA'),
('Win 2007','Windows 2007'),
)
windows=models.CharField(max_length=10,choices=OS_CHOICE,default='Win 2003')
def __unicode__(self):
return " %s, event_id :%s" \
% (self.windows, self.event_id)
class Meta:
db_table= 'event'
verbose_name_plural='events'
class Eventgroups(models.Model):
event=models.ManyToManyField(Event)
group_name=models.CharField(max_length=100)
def __unicode__(self):
return "%s, %s" \
% (self.group_name, self.event)
class Meta:
db_table= 'eventgroup'
verbose_name_plural='eventgroups'
我想寫一個Django視圖上進口,這將ANABLE用戶瀏覽到CSV文件,然後單擊上傳/導入選定的csv文件到上面定義的模型(請考慮您的M2M領域回答)。 任何人都可以請給一些指導呢? 基於我的模型的例子將不勝感激。 問候
那m2m字段呢?你的csv將如何?這裏有什麼樣的數據作爲行,如果你認爲在這裏提到m2m字段很重要?思考表格 - 你怎麼能用單個csv表創建多表關係? –
奧多夫我得到你了。假設我沒有M2M條件,這怎麼可能實現? – Joshua
如果csv文件具有與event(event_id,OS_CHOICE,windows)的字段值匹配的列名稱,那麼可以使用python csv dictreader從csv行創建字典,然後遍歷這些行並只調用e = Event (**行),e.save(),其中行是csv行之一。 –