跳转到主要内容

使用pyodbc的Django后端,用于Microsoft SQL Server和Azure SQL Database

项目描述

http://img.shields.io/pypi/v/django-pyodbc-azure.svg?style=flat http://img.shields.io/pypi/l/django-pyodbc-azure.svg?style=flat

django-pyodbc-azuredjango-pyodbc 的现代分支,它是使用 pyodbc 库通过ODBC实现的 Django Microsoft SQL Server外部数据库后端。它支持Microsoft SQL Server和Azure SQL Database。

特性

依赖

  • Django 2.1

  • pyodbc 3.0或更高版本

安装

  1. 安装pyodbc和Django

  2. 安装django-pyodbc-azure

    pip install django-pyodbc-azure
  3. 现在您可以将您的Django应用程序或项目使用的设置文件中的ENGINE设置指向'sql_server.pyodbc'模块路径

    'ENGINE': 'sql_server.pyodbc'

配置

标准Django设置

在DATABASES字典中的以下条目控制后端的行为

  • ENGINE

    字符串。它必须是"sql_server.pyodbc"

  • NAME

    字符串。数据库名。必需。

  • HOST

    字符串。SQL Server实例,格式为"服务器\实例"(本地)或"服务器.database.windows.net"(Azure SQL数据库)。

  • 端口

    字符串。服务器实例端口。空字符串表示默认端口。

  • 用户

    字符串。数据库用户名,格式为"用户"(本地)或"用户@服务器"(Azure SQL数据库)。如果未指定,则使用MS集成安全。

  • 密码

    字符串。数据库用户密码。

  • AUTOCOMMIT

    布尔值。如果您想禁用Django的事务管理并实现自己的,请将此设置为False。

以下条目也适用于任何给定的数据库级设置字典的TEST字典

  • NAME

    字符串。运行测试套件时使用的数据库名称。如果使用默认值(None),则测试数据库将使用名称“test_” + NAME

  • 校对

    字符串。创建测试数据库时使用的校对顺序。如果使用默认值(None),则测试数据库将分配SQL Server实例的默认校对。

  • 依赖项

    字符串。数据库创建顺序的依赖关系。有关更多详细信息,请参阅官方Django文档。

  • 镜像

    字符串。在测试期间此数据库应镜像的数据库别名。默认值为None。有关更多详细信息,请参阅官方Django文档。

选项

字典。当前可用的键包括

  • 驱动程序

    字符串。要使用的ODBC驱动程序(例如,“ODBC Driver 13 for SQL Server”,“SQL Server Native Client 11.0”,“FreeTDS”等)。默认值为“ODBC Driver 13 for SQL Server”。

  • 隔离级别

    字符串。为每个数据库会话设置事务隔离级别。此条目的有效值是READ UNCOMMITTEDREAD COMMITTEDREPEATABLE READSNAPSHOTSERIALIZABLE。默认值为None,表示不对数据库会话设置隔离级别,并将使用SQL Server的默认值。

  • dsn

    字符串。可以使用命名DSN代替HOST

  • host_is_server

    布尔值。仅在使用Unix/Linux下的FreeTDS ODBC驱动程序时相关。

    默认情况下,在使用FreeTDS ODBC驱动程序时,HOST设置中指定的值在ODBC连接字符串组件中的SERVERNAME部分中而不是在SERVER部分中使用;这意味着此值应该是FreeTDS配置文件freetds.conf中存在的数据服务器定义的名称,而不是主机名或IP地址。

    但是,如果此选项存在且其值为True,则此特殊行为将被关闭。

    有关更多信息,请参阅http://www.freetds.org/userguide/dsnless.htm

  • unicode_results

    布尔值。如果设置为True,则激活pyodbc的unicode_results功能,并且从pyodbc返回的字符串始终是Unicode。默认值为False

  • extra_params

    字符串。ODBC连接的附加参数。格式为"param=value;param=value"

  • 校对

    字符串。在数据库中执行文本字段查找时使用的校对名称。默认值为None;这意味着不会添加校对指定符到您的查找SQL(将使用数据库的默认校对)。对于中文语言,可以将其设置为"Chinese_PRC_CI_AS"

  • 连接超时

    整数。设置数据库连接过程的超时时间(秒)。默认值是 0,表示禁用超时。

  • connection_retries

    整数。设置数据库连接过程的重试次数。默认值是 5

  • connection_retry_backoff_time

    整数。设置数据库连接过程重试时的等待时间(秒)。默认值是 5

  • query_timeout

    整数。设置数据库查询的超时时间(秒)。默认值是 0,表示禁用超时。

后端特定设置

以下项目级别的设置也控制后端的行为

  • DATABASE_CONNECTION_POOLING

    布尔值。如果设置为 False,则不激活 pyodbc 的连接池功能。

示例

以下是数据库设置的示例

DATABASES = {
    'default': {
        'ENGINE': 'sql_server.pyodbc',
        'NAME': 'mydb',
        'USER': 'user@myserver',
        'PASSWORD': 'password',
        'HOST': 'myserver.database.windows.net',
        'PORT': '',

        'OPTIONS': {
            'driver': 'ODBC Driver 13 for SQL Server',
        },
    },
}

# set this to False if you want to turn off pyodbc's connection pooling
DATABASE_CONNECTION_POOLING = False

限制

以下功能目前不支持

  • 在迁移时更改模型字段从或到 AutoField

注意

django-pyodbc-azure 此版本仅支持 Django 2.1。如果您想在旧版本的 Django 上使用它,请在安装时指定适当的版本号(例如 Django 2.0 的 2.0.x.x)

pip install "django-pyodbc-azure<2.1"

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分布

此发布版本没有源分布文件。请参阅 生成分布存档 的教程。

构建分布

django_pyodbc_azure-2.1.0.0-py3-none-any.whl (39.7 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面