这个问题是因为你的 Django 应用程序需要使用 MariaDB 10.4 或更高版本,但是你的 MariaDB 版本是 10.3.38。

为了解决这个问题,你需要升级你的 MariaDB 到 10.4 或更高版本,或者修改你的 Django 应用程序以兼容 10.3.38 版本。

如果你想兼容所有版本,你可以使用 SQLAlchemy 作为 Django 的数据库后端,它支持多种数据库,包括 MariaDB 和 MySQL,并且可以自动适应不同的数据库版本。你只需要在 Django 的 settings.py 文件中修改 DATABASES 的配置,如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
            'sql_mode': 'traditional',
            'ssl': {
                'ca': '/path/to/cert.pem',
            },
        },
    }
}

将 'ENGINE' 的值改为 'sqlalchemy.dialects.mysql',然后在 'OPTIONS' 中添加 'connect_args' 参数,用于指定 MariaDB 的版本:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
        'OPTIONS': {
            'connect_args': {
                'ssl': {
                    'ca': '/path/to/cert.pem',
                },
            },
        },
    }
}

这样,你的 Django 应用程序就可以自动适应不同的 MariaDB 版本了。

Django MariaDB 版本兼容性问题解决方法

原文地址: https://www.cveoy.top/t/topic/opgm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录