django inspectdb utf8mb4错误

时间:2018-08-29 16:02:15

标签: python mysql django utf8mb4

即使在所有表都被添加后,Python manage.py inspectdb也给出以下错误  具有CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci

从django.db导入模型

无法检查表“执行”

错误是:(3719,“ 3719:'utf8'当前是字符集UTF8MB3的别名,但在将来的发行版中将成为UTF8MB4的别名。请考虑使用UTF8MB4,以确保其含义明确。”无)

1 个答案:

答案 0 :(得分:1)

我最近遇到了完全相同的问题。 我向Django提出了一个错误请求,但Django不接受它作为他们的错误。

MySQL 8已从UTF8MB3切换为UTF8MB4作为默认字符集。从8.0.11开始,如果您访问使用先前版本创建的表,则会返回警告,鼓励您切换到UTF8MB4。

运行inspectdb时,INFORMATION_SCHEMA表仍位于UTF8MB3中,因此您将警告返回给Django,而Django目前无法忽略该警告。

我有一个关于如何解决Django错误凭单上的错误的完整示例: https://code.djangoproject.com/ticket/29678

我已经能够完全使用MySQL 8.0.12作为健壮的Django应用程序的后端 因此,一旦您解决了这个问题,就应该可以了。