【问题标题】:django inspectdb utf8mb4 errordjango inspectdb utf8mb4 错误
【发布时间】:2019-02-04 11:57:30
【问题描述】:

Python manage.py inspectdb 给出以下错误,即使所有表都已完成 具有 CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci

从 django.db 导入模型

无法检查表“执行”

错误是: (3719, "3719: 'utf8' 当前是字符集 UTF8MB3 的别名,但在以后的版本中将是 UTF8MB4 的别名。请考虑使用 UTF8MB4 以便明确。",无)

【问题讨论】:

    标签: python mysql django utf8mb4


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

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多