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行之一。 –