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

标签 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)

最佳答案

我怀疑问题是:

hostaddress= models.GenericIPAddressField(primary_key=True)

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

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

相关文章:

mysql - 将 3 个表连接到第一个表的多个列中

mysql - phpMyAdmin MySQL 错误#1045

django - RichTextContent 中的 Feincms MediaFile

java - Android 中 Django 的 JSON 响应

php - 没有插入我期望的地方

java.net.UnknownHostException 从 spring boot 应用程序 dockerized mysql

python - Django ORM 查询 - 如何从模型字段中减去时间?

django - 设置 Django channel

python - 如何过滤包含对象的ManyToMany

MySQL函数按字母顺序对字符串进行排序