我正在尝试从文件(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)

最佳答案

我怀疑问题是:

hostaddress= models.GenericIPAddressField(primary_key=True)


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

关于mysql - [Django]从文件将数据导入mysql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47893079/

10-11 03:31
查看更多