支持的数据库
Django默认使用内置的sqlite数据库,也可以使用外置的MySql、Oracle、SqlServer、PostgreSql、CockroachDB、Firebird等。
设置使用的数据库
通过修改settings.py内的DATABASES参数,可以修改使用的数据库。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
ENGINE可以取'django.db.backends.sqlite3'、'django.db.backends.postgresql'、'django.db.backends.mysql'`或 'django.db.backends.oracle',name为数据库名称。
基础参数
若数据库使用Sqllite,name即为数据库文件的名字;若为其他数据库,则可以设置相应的USER、PASSWORD、HOST、PORT等参数,如PostgreSql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase',
'USER': 'mydatabaseuser',
'PASSWORD': 'mypassword',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
高级参数
ATOMIC_REQUESTS
默认为Flase,将此设置为 True,以将每个视图包裹在这个数据库的事务中。
AUTOCOMMIT
默认为True,指定是否自动提交事务。
CONN_MAX_AGE
默认: 0,一个数据库连接的寿命,以秒为整数。使用 0 在每次请求结束时关闭数据库连接——这是 Django 的历史行为,使用 None 则是无限的持久连接。
OPTIONS
默认: {} ,连接到数据库时要使用的额外参数。可用的参数根据你的数据库后端不同而不同。
DISABLE_SERVER_SIDE_CURSORS
默认:False,如果你想通过 QuerySet.iterator() 禁用服务器端游标的使用,请将其设置为 True。 事务池和服务器端游标 描述了使用情况。
TEST
默认: {},测试数据库的设置字典。
更多数据配置参数参考:docs.djangoproject.com/zh-hans/3.2…