即使在所有表都有manage.py CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci之后,Python检查也会出现以下错误
从django.db导入模型
无法检查表“执行”
错误是:(3719,"3719:'utf8‘目前是字符集UTF8MB3的别名,但在以后的发行版中将是UTF8MB4的别名。请考虑使用UTF8MB4以便明确。“,无)
发布于 2018-09-06 20:17:30
我最近遇到了同样的问题。我向Django提出了一个bug请求,但是Django不接受它作为它们的bug。
MySQL 8已从UTF8MB3切换到UTF8MB4作为默认字符集。从8.0.11开始,如果您访问使用上一个版本创建的表,则会返回一个警告,鼓励您切换到UTF8MB4。
当您运行inspectdb时,INFORMATION_SCHEMA表仍然在UTF8MB3中,因此您将得到返回给Django的警告,Django目前无法忽略这个警告。
我有一个关于如何在Django bug票证上避免这个错误的完整示例:https://code.djangoproject.com/ticket/29678
我已经完全使用了MySQL 8.0.12作为一个健壮的Django应用程序的后端,因此一旦您解决了这个问题,希望您会没事。
https://stackoverflow.com/questions/52081773
复制相似问题