python manage.py inspectdb给出以下错误,即使所有表都有charset=utf8mb4 collate=utf8mb4\u general\u ci从django.db导入模型
izj3ouym1#
我最近遇到了完全相同的问题。我向django提出了一个bug请求,但django不接受它作为他们的bug。mysql 8已经从utf8mb3切换到utf8mb4作为默认字符集。从8.0.11开始,如果您访问使用以前版本创建的表,将返回一条警告,鼓励您切换到utf8mb4。当您运行inspectdb时,schema表的信息仍然在utf8mb3中,因此您将得到返回给django的警告,django目前无法忽略该警告。我有一个完整的例子,说明了如何绕过django bug罚单上的这个错误:https://code.djangoproject.com/ticket/29678我已经能够完全使用mysql 8.0.12作为一个健壮的django应用程序的后端,所以一旦您解决了这个问题,您应该希望一切正常。
1条答案
按热度按时间izj3ouym1#
我最近遇到了完全相同的问题。我向django提出了一个bug请求,但django不接受它作为他们的bug。
mysql 8已经从utf8mb3切换到utf8mb4作为默认字符集。从8.0.11开始,如果您访问使用以前版本创建的表,将返回一条警告,鼓励您切换到utf8mb4。
当您运行inspectdb时,schema表的信息仍然在utf8mb3中,因此您将得到返回给django的警告,django目前无法忽略该警告。
我有一个完整的例子,说明了如何绕过django bug罚单上的这个错误:https://code.djangoproject.com/ticket/29678
我已经能够完全使用mysql 8.0.12作为一个健壮的django应用程序的后端,所以一旦您解决了这个问题,您应该希望一切正常。