Django的后端服务,用于Microsoft SQL Server
项目描述
django-mssql-backend 是 django-pyodbc-azure 的分支
功能
支持 Django 2.2、3.0
支持 Microsoft SQL Server 2008/2008R2、2012、2014、2016、2017、2019
通过了 Django 测试套件的大部分测试
兼容 Microsoft ODBC Driver for SQL Server、SQL Server Native Client 和 FreeTDS ODBC 驱动程序
依赖项
Django 2.2 或更高版本
pyodbc 3.0 或更高版本
安装
安装 pyodbc 和 Django
安装 django-mssql-backend
pip install django-mssql-backend
现在您可以将 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 UNCOMMITTED,READ COMMITTED,REPEATABLE READ,SNAPSHOT和SERIALIZABLE。默认值是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 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a34145e537387c6251290bc1016199bf0a01ae91ce25e311091f94ba2a1399ff |
|
MD5 | 35416fd2bdbf38c225917eeb511fb8d9 |
|
BLAKE2b-256 | 28b030f90c899d55aacc244363ea7cab321bea639a8c3e603befe364fcca5f27 |
django_mssql_backend-2.8.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bfaae4ef328be470a73b9ca4e6e496e7bca016a613eab4f1960a8231baeae130 |
|
MD5 | 2e02abaa717c67be080a2f6bf8148968 |
|
BLAKE2b-256 | 4738f7e1b696256a1c8acb11fe5494f885e7fc4bea25af53f9420c51923757cc |