django.db.utils.InterfaceError: "(0, '')"
が出る場合
テーブルやレコードによって、get時にこのエラーが出たり出なかったりする場合は、接続文字コードが合ってないかもしれない。
もし、utf8 で接続しているなら、一度 utf8mb4 にして様子を見てみる。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME": "....",
"USER": "....",
"PASSWORD": "....",
"HOST": "....",
"PORT": "",
"OPTIONS": {
"charset": "utf8mb4"
},
2021-08-07 追記
MySQL 8.0 のクライアントで MySQL 5.7 サーバに接続すると Charset の指定がクライアントからできない
で書いたが、mysql のクライアントが 8.0 相当で、サーバが5.7 の場合、文字コードの指定がクライアント側からできない。
なので、文字コードについては、「サーバ側で指定してクライアントからは指定しない」
(DATABASES の OPTIONS を指定しない) というのが、一番良いと考えている。
コメント