即使在所有表都被添加后,Python manage.py inspectdb也给出以下错误 具有CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci
从django.db导入模型
答案 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应用程序的后端 因此,一旦您解决了这个问题,就应该可以了。