2017年7月31日 星期一

修改 Python 模組


有一個 Django 項目需要搬到另一台伺服器;之前的體驗不好,三次安裝都各有新的問題,Django 並不如想像中好用。就像今次,MySQL 版本只差 0.1,出現了 datetime(6) 問題;出現 Django MySQL 介面問題;Python 模組問題。

把 MySQL 升級後,解決了 datetime(6),能直接匯入 MySQLDump 數據。可是卻出現另一個「Module not found」問題,得把原本的「django.db.backends.mysql」改為「mysql.connector.django」,不然會有「configparser」問題,這是 Python 3 的錯誤。之後就是「Can't multiply sequence by non-int of type 'tuple'」問題。得把 python3.5/site-packages/mysql/connector/django/operations.py 模組內的「bulk_insert_sql(self, fields, num_values)」修改成:
def bulk_insert_sql(self, fields, placeholder_rows):
   placeholder_rows_sql = (", ".join(row) for row in placeholder_rows)
   values_sql = ", ".join("(%s)" % sql for sql in placeholder_rows_sql)
   return "VALUES " + values_sql

沒有留言: