Django: django.db.utils.InternalError:

我正在尝试将 Django 与 mariadb 10.4.8 一起使用我的 settings.py 文件如下:


DATABASES = {

    'default': {

        'NAME:': 'mydb',

        'ENGINE': 'django.db.backends.mysql',

        'USER': 'staff',

        'PASSWORD': 'mypassword',

        'HOST': 'localhost',

        'PORT': '',

    }

}

在初始化.py 中:


import pymysql


pymysql.install_as_MySQLdb()

“./manage.py makemigrations”和“./manage.py migrate”产生相同的错误:


    File "./manage.py", line 22, in <module>

    execute_from_command_line(sys.argv)

  File "/home/ubuntu/wemu_app/wemu_app_env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line

    utility.execute()

  File "/home/ubuntu/wemu_app/wemu_app_env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 356, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/home/ubuntu/wemu_app/wemu_app_env/local/lib/python2.7/site-packages/django/core/management/base.py", line 283, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/home/ubuntu/wemu_app/wemu_app_env/local/lib/python2.7/site-packages/django/core/management/base.py", line 330, in execute

    output = self.handle(*args, **options)

  File "/home/ubuntu/wemu_app/wemu_app_env/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 83, in handle

    executor = MigrationExecutor(connection, self.migration_progress_callback)


在任何人问之前,是的,我确定数据库存在并且用户有权访问它。我可以通过以下方式确认:


mysql -u staff -r mydb

我正在使用此处找到的教程以防有人好奇: https ://www.digitalocean.com/community/tutorials/how-to-use-mysql-or-mariadb-with-your-django-application-on- ubuntu-14-04


有任何想法吗?我在这里扯头发。


一只甜甜圈
浏览 75回答 1
1回答

侃侃无极

您正在尝试使用MySQL后端引擎连接到MariaDB.'ENGINE': 'django.db.backends.mysql',最近在 Django 3.0 中添加了对 MariaDB 的官方支持。不过,它仍处于 Alpha 测试阶段。https://docs.djangoproject.com/en/dev/releases/3.0/我认为您最好使用 MySQL 数据库以避免进一步的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python