0
我想用Django生成一个完整的SQL文件,该文件可以下载并执行以创建SQLite数据库。使用Django为SQLite生成SQL插入语句
问题是转义字符串以将它们插入到要下载的文件中。这是我到目前为止:
name = MySQLdb.escape_string(self.name.encode("utf-8")).decode("utf-8")
return "INSERT INTO names VALUES(%d,'%s');" % (self.id, name)
但不幸的是,MySQL用单斜引号\ \ SQlite不喜欢的单引号。我宁愿使用Django中包含的东西来替换MySQLdb.escape_string()。我不确定在MySQL转义和SQLite之间是否存在任何其他不兼容的问题,因此完全避免MySQLdb.escape_string()会很好。
作最后的求助返回之前,我这样做:
name = name.replace("\\\'","\'\'")
有什么想法?
我找不到在Python/Django中使用此函数的任何参考http://docs.python.org/2/library/sqlite3.html –
它是一个* SQLite *函数。只有当原始数据在数据库中时,才能使用它。 –
原始数据位于MySQL数据库中,但我不想在数据库级别上工作。我使用Django视图来生成要下载的文件。 –