Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 很难将mySQL数据导入Django_Python_Mysql_Django - Fatal编程技术网

Python 很难将mySQL数据导入Django

Python 很难将mySQL数据导入Django,python,mysql,django,Python,Mysql,Django,我有一个.sql文件要导入到django中(或至少导入insert语句)。我一直在努力寻找如何做到这一点。4条insert语句中约有50000条条目,形式如下: INSERT INTO `tweets` VALUES (..........), (........), ... , (......). 我一直在试图了解装置,我不确定它是否需要我想要的,如果它是如何使用它 编辑:忘了提一下,我还为sqlite3数据库设置了Django,因为它给我带来了巨大的痛苦来更改mysql(可能是因为我使用

我有一个.sql文件要导入到django中(或至少导入insert语句)。我一直在努力寻找如何做到这一点。4条insert语句中约有50000条条目,形式如下:

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