跳转到主要内容

Django的后端服务,用于Microsoft SQL Server

项目描述

https://img.shields.io/pypi/v/django-mssql-backend.svg

django-mssql-backenddjango-pyodbc-azure 的分支

功能

依赖项

  • Django 2.2 或更高版本

  • pyodbc 3.0 或更高版本

安装

  1. 安装 pyodbc 和 Django

  2. 安装 django-mssql-backend

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

    'ENGINE': 'sql_server.pyodbc'

正则表达式支持

django-mssql-backend 支持使用 CLR .dll 文件的正则表达式。要安装它,请运行

python manage.py install_regex_clr {database_name}

配置

标准Django配置

以下条目在数据库级别的设置字典中的DATABASES中控制后端的行为

  • ENGINE

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

  • NAME

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

  • HOST

    字符串。以"server\instance"格式的SQL Server实例。

  • PORT

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

  • USER

    字符串。以"user"格式的数据库名称。如果没有给出,则使用MS集成安全。

  • PASSWORD

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

  • AUTOCOMMIT

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

并且以下条目也在任何给定数据库级别的设置字典的TEST字典中可用

  • NAME

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

  • COLLATION

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

  • DEPENDENCIES

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

  • MIRROR

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

OPTIONS

字典。当前可用的键是

  • driver

    字符串。要使用的ODBC驱动程序("ODBC Driver 13 for SQL Server""SQL Server Native Client 11.0""FreeTDS"等)。默认是"ODBC Driver 13 for SQL Server"

  • isolation_level

    字符串。为每个数据库会话设置事务隔离级别。此条目的有效值是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"

  • connection_timeout

    整数。设置数据库连接过程的超时时间(秒)。默认值为 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-mssql-backend-2.8.1.tar.gz (43.0 kB 查看哈希)

上传时间

构建分布

django_mssql_backend-2.8.1-py3-none-any.whl (52.4 kB 查看哈希)

上传时间 Python 3

由以下支持

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