django inspectdb utf8mb4错误

问题描述 投票:1回答:1

即使所有表都有CHARSET = utf8mb4后,Python manage.py inspectdb也会出现以下错误:COLLATE = utf8mb4_general_ci

来自django.db导入模型

Unable to inspect table 'execution'

The error was: (3719, "3719: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.", None)

python mysql django utf8mb4
1个回答
1
投票

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

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应用程序的后端,所以一旦你解决了这个问题,你应该没问题。

© www.soinside.com 2019 - 2024. All rights reserved.