• <i id='EGQbf'><tr id='EGQbf'><dt id='EGQbf'><q id='EGQbf'><span id='EGQbf'><b id='EGQbf'><form id='EGQbf'><ins id='EGQbf'></ins><ul id='EGQbf'></ul><sub id='EGQbf'></sub></form><legend id='EGQbf'></legend><bdo id='EGQbf'><pre id='EGQbf'><center id='EGQbf'></center></pre></bdo></b><th id='EGQbf'></th></span></q></dt></tr></i><div id='EGQbf'><tfoot id='EGQbf'></tfoot><dl id='EGQbf'><fieldset id='EGQbf'></fieldset></dl></div>
    1. <tfoot id='EGQbf'></tfoot>

      • <bdo id='EGQbf'></bdo><ul id='EGQbf'></ul>
    2. <small id='EGQbf'></small><noframes id='EGQbf'>

        <legend id='EGQbf'><style id='EGQbf'><dir id='EGQbf'><q id='EGQbf'></q></dir></style></legend>

        django2.2 和 PyMySQL版本兼容问题

        首先,需要介绍一下 Django 和 PyMySQL。Django 是 Python 最受欢迎的 Web 框架之一,而 PyMySQL 是一个 Python 3.x 的纯Python MySQL 连接器。

      1. <tfoot id='OL2Ls'></tfoot>

            <small id='OL2Ls'></small><noframes id='OL2Ls'>

            1. <i id='OL2Ls'><tr id='OL2Ls'><dt id='OL2Ls'><q id='OL2Ls'><span id='OL2Ls'><b id='OL2Ls'><form id='OL2Ls'><ins id='OL2Ls'></ins><ul id='OL2Ls'></ul><sub id='OL2Ls'></sub></form><legend id='OL2Ls'></legend><bdo id='OL2Ls'><pre id='OL2Ls'><center id='OL2Ls'></center></pre></bdo></b><th id='OL2Ls'></th></span></q></dt></tr></i><div id='OL2Ls'><tfoot id='OL2Ls'></tfoot><dl id='OL2Ls'><fieldset id='OL2Ls'></fieldset></dl></div>
                <tbody id='OL2Ls'></tbody>
              <legend id='OL2Ls'><style id='OL2Ls'><dir id='OL2Ls'><q id='OL2Ls'></q></dir></style></legend>
                  <bdo id='OL2Ls'></bdo><ul id='OL2Ls'></ul>
                • 首先,需要介绍一下 Django 和 PyMySQL。Django 是 Python 最受欢迎的 Web 框架之一,而 PyMySQL 是一个 Python 3.x 的纯Python MySQL 连接器。

                  在使用 Django 和 PyMySQL 时,可能会遇到版本兼容的问题。Django2.2 需要至少 PyMySQL 0.9.3 版本,否则会提示错误。因此,需要确保在使用 Django2.2 时,PyMySQL 的版本至少为 0.9.3。

                  以下是两个示例,用于说明 Django2.2 和 PyMySQL 版本兼容问题:

                  示例一

                  如果你尝试在 Django2.2 中使用 PyMySQL 0.8.0,你会收到如下错误信息:

                  django.core.exceptions.ImproperlyConfigured: 'mysql' isn't an available database backend. 
                  Try using 'django.db.backends.mysql' instead.
                  Error was: No module named 'MySQLdb'
                  

                  这是因为 Django2.2 的 MySQL 后端是通过 PyMySQL 实现的,并且从 0.9.3 版本开始支持。因此,在 Django2.2 中使用 PyMySQL 0.8.0 会导致找不到 MySQLdb 模块的错误。

                  示例二

                  假设你在使用 Django2.2 时,在 models.py 中定义了以下模型:

                  from django.db import models
                  
                  class Book(models.Model):
                      title = models.CharField(max_length=100)
                      author = models.CharField(max_length=50)
                  

                  然后你使用 PyMySQL 0.10.0 作为数据库连接器,定义 settings.py 中的 DATABASES 如下:

                  DATABASES = {
                      'default': {
                          'ENGINE': 'django.db.backends.mysql',
                          'NAME': 'books',
                          'USER': 'root',
                          'PASSWORD': '',
                          'HOST': 'localhost',
                          'PORT': '3306',
                      }
                  }
                  

                  这样,当你运行 python manage.py makemigrations 命令时,你会遇到以下错误:

                  TypeError: __init__() got an unexpected keyword argument 'autocommit'
                  

                  这是因为 PyMySQL 0.10.0 可能会在一些情况下使用不受支持的“autocommit”关键字参数。要解决这个问题,你需要在 settings.py 文件中添加以下行:

                  DATABASES = {
                      'default': {
                          'ENGINE': 'django.db.backends.mysql',
                          'NAME': 'books',
                          'USER': 'root',
                          'PASSWORD': '',
                          'HOST': 'localhost',
                          'PORT': '3306',
                          'OPTIONS': {
                              'autocommit': True,
                          }
                      }
                  }
                  

                  这样,你就可以使用 PyMySQL 0.10.0 连接到 Django2.2 应用程序的 MySQL 后端了。

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  下面是针对PostgreSQL中的权限问题的完整攻略。
                  MySQL是一种流行的关系型数据库系统,它提供了多种时间类型和模式,用于存储和处理时间数据。本文将详细介绍MySQL时间类型和模式的详细攻略。
                  首先在官网下载CentOS7镜像,并在VMware虚拟机中新建一台CentOS7虚拟机,将镜像挂载到虚拟机中并启动。
                  首先,当我们使用Spring Boot开发项目时,可能会遇到Error starting ApplicationContext错误,一般这种错误是由于配置文件、依赖包或者代码逻辑等原因引起的。下面我将提供一条包含两条详细示例说明的完整攻略,用来解决上述问题。
                  下面我将详细讲解如何为PostgreSQL数据库中的用户授予权限和撤销权限,包括两个实例。
                  MySQL中出现lock wait timeout exceeded问题的原因是由于两个或多个事物同时请求相同的资源造成的,并且在某一时刻至少一个事务无法获取资源,超过了MySQL默认的等待时间,从而导致事务失败。这种问题的出现会极大地影响数据库的性能和并发能力。

                    <small id='dh1DR'></small><noframes id='dh1DR'>

                  1. <tfoot id='dh1DR'></tfoot>

                      <tbody id='dh1DR'></tbody>

                      <legend id='dh1DR'><style id='dh1DR'><dir id='dh1DR'><q id='dh1DR'></q></dir></style></legend>

                        • <bdo id='dh1DR'></bdo><ul id='dh1DR'></ul>
                          <i id='dh1DR'><tr id='dh1DR'><dt id='dh1DR'><q id='dh1DR'><span id='dh1DR'><b id='dh1DR'><form id='dh1DR'><ins id='dh1DR'></ins><ul id='dh1DR'></ul><sub id='dh1DR'></sub></form><legend id='dh1DR'></legend><bdo id='dh1DR'><pre id='dh1DR'><center id='dh1DR'></center></pre></bdo></b><th id='dh1DR'></th></span></q></dt></tr></i><div id='dh1DR'><tfoot id='dh1DR'></tfoot><dl id='dh1DR'><fieldset id='dh1DR'></fieldset></dl></div>