[Django]从文件导入数据到mysql

时间:2017-12-19 18:25:39

标签: mysql django

我正在尝试将数据从文件(3列)导入到我的本地mysql数据库中。它包含27442行。

def import(file):
    base_dir= '/home/xxxxx/Desktop/'
    with open(os.path.join(base_dir, file), 'r') as f:
      for line in f.readlines(): 
         line=line.split() #remove all useless space
         if len(line) >= 3:
             host.objects.create(
                hostaddress=line[0],
                hostname= line[1],
                comment=line[2] #' ' by default
             )
          else:
              raise('Invalid format')

一切似乎都能正常工作但是在我输入后检查表格时 我得到的总行数不到一半(约11000)。

Django模型:

class host(models.Model):
   hostname= models.SlugField(max_length=50)
   hostaddress= models.GenericIPAddressField(primary_key=True)
   comment= models.CharField(max_length=100)

1 个答案:

答案 0 :(得分:0)

我怀疑问题是:

hostaddress= models.GenericIPAddressField(primary_key=True)

primary_key = True会自动设置unique = True。如果原始数据中有重复的hostaddress字段,则只导入唯一值。