0

この問題が発生しました。にユニコード文字列を割り当てることができない場合models.CharField

DatabaseError: (1267, "Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='")

私はこの解決策を見つけましたが、それは私にはうまくいかないようです。データベースは次のエラーを返します。

Error Code: 1025. Error on rename of './test_database/#sql-272e_1ba' to './test_database/[MY_TABLE_NAME]' (errno: 150)

さらに、これらのソリューションはすべて、テーブルが作成された後、またはpython manage.pysqlAPP_NAME出力を変更して手動でテーブルを作成した後にのみ機能するように見えます。

Pythonコードでdjangoモデルを最初に宣言したときからこれを修正する方法はありますか?したがって、manage.py syncdbは適切なテーブルを生成するだけですか?

4

1 に答える 1

0

これは、Djangoではなく、データベース構成の問題のようです。私の推測では、使用しているDBが何であれ、新しいテーブルにlatin1_swidish_ciを使用するように構成されています。syncdbをフックして、そこでテーブルを変更することもできますが、DB構成を直接修正する方がよいと思います。

于 2013-01-11T07:08:53.813 に答える