我遇到了这个问题。当我无法将unicode字符串分配给models.CharField
时。
DatabaseError: (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")
我找到this solution,但它似乎对我不起作用。数据库返回此错误:
Error Code: 1025. Error on rename of './test_database/#sql-272e_1ba' to './test_database/[MY_TABLE_NAME]' (errno: 150)
此外,所有这些解决方案似乎仅在创建表后才起作用,或者修改python manage.py sql APP_NAME输出并手动创建表。
有没有办法解决这个问题,最初在python代码中声明django模型,所以manage.py syncdb只会产生正确的表格?
答案 0 :(得分:0)
这似乎是您的数据库配置问题,而不是Django。我的猜测是,无论你使用什么数据库,它都配置为使用latin1_swidish_ci用于新表。您可以hook syncdb并在那里更改表格,但我认为最好直接修复数据库配置。