Python 很难将mySQL数据导入Django
我有一个.sql文件要导入到django中(或至少导入insert语句)。我一直在努力寻找如何做到这一点。4条insert语句中约有50000条条目,形式如下:Python 很难将mySQL数据导入Django,python,mysql,django,Python,Mysql,Django,我有一个.sql文件要导入到django中(或至少导入insert语句)。我一直在努力寻找如何做到这一点。4条insert语句中约有50000条条目,形式如下: INSERT INTO `tweets` VALUES (..........), (........), ... , (......). 我一直在试图了解装置,我不确定它是否需要我想要的,如果它是如何使用它 编辑:忘了提一下,我还为sqlite3数据库设置了Django,因为它给我带来了巨大的痛苦来更改mysql(可能是因为我使用
INSERT INTO `tweets` VALUES (..........), (........), ... , (......).
我一直在试图了解装置,我不确定它是否需要我想要的,如果它是如何使用它
编辑:忘了提一下,我还为sqlite3数据库设置了Django,因为它给我带来了巨大的痛苦来更改mysql(可能是因为我使用的是windows linux子系统?),所以不确定这是否会对插入造成影响
EDIT2:Models.py和我试图模仿的表格(已注释掉):
SQL脚本(我从针对PHP优化的原始脚本中提取了很多):
编辑:我尝试过使用./manage.py inspectdb tweets.sql,但运行时出现错误“无法检查表tweets.sql,错误是:表tweets.sql不存在”。我还尝试通过sqlite命令行进行sql转储,但当我运行用于此的命令时,它需要更多的输入,或者不起作用。Post models.pyplease@pypypy发布了,很抱歉。有几件事:您可能想在这些字段定义中添加
null=True
。最好使用Django创建表(注意,Django中的默认表名与SQL文件将创建的表名不同),然后直接使用sqlite3命令行客户端导入SQL转储。另一个选项是在sql客户机中执行所有操作,然后使用Django的inspectdb
命令构建模型文件。注:Django中的型号名称通常为标题和单数(tweets
应为Tweet
)。这不是fixture的用例-fixture用于JSON或yaml数据。谢谢。所以我一直在尝试使用python manage.py dbshell进入sqlite终端,然后进行.read tweets.sql。它运行并显示SQL文件中的所有数据,但实际上并没有将其添加到任何地方,我似乎无法回避这一点。。有什么线索吗?编辑:我将在中添加(部分)DB脚本。
class tweets(models.Model):
id = models.AutoField(primary_key=True)
tag = models.CharField(max_length=255, default=None)
coord = models.CharField(max_length=40, default=None)
datetime = models.CharField(max_length=20, default=None)
# CREATE TABLE `tweets` (
# `id` int(11) NOT NULL AUTO_INCREMENT,
# `tag` varchar(255) DEFAULT NULL,
# `coord` varchar(40) DEFAULT NULL,
# `datetime` varchar(20) DEFAULT NULL,
# PRIMARY KEY (`id`)
# ) ENGINE=InnoDB AUTO_INCREMENT=57518 DEFAULT CHARSET=latin1;
# /*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `tweets`;
CREATE TABLE `tweets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tag` varchar(255) DEFAULT NULL,
`coord` varchar(40) DEFAULT NULL,
`datetime` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) AUTO_INCREMENT=57518 DEFAULT CHARSET=latin1;
INSERT INTO `tweets` VALUES (15579,'#MakeAmericaSmartAgain','-116.55183, 48.279752','21/03/2017 06:02:32'),(15580,'#fucksamus','-83.32891, 42.619824','21/03/2017 06:02:33'), .......... ();
INSERT INTO `tweets` VALUES (152349,'#morehashtags','-116.55183, 48.279752','21/03/2017 06:02:32'),(155280,'#andevenmore!!','-83.32891, 42.619824','21/03/2017 06:02:33'), .... , ();
..2 more insert statements then EOF