1 导出原有数据: python -Xutf8 manage.py dumpdata --natural-primary --natural-foreign -o db.json
2 在目标数据库(MySQL / PostgreSql)里创建一个空的库
3 在 settings.py 里切换到新的数据库
4 建立新的数据库表结构 python manage.py migrate
5 导入原有数据: python manage.py loaddata db.json
附上几种数据库配置,方便使用
db_config = {
'sqlite': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'OPTIONS': {
'timeout': 20,
}
},
'pgsql': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '数据库名称',
'USER': '用户名',
'PASSWORD': '密码',
'HOST': '数据库服务器地址',
'PORT': 5432,
},
'mysql': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名称',
'USER': '用户名',
'PASSWORD': '密码',
'HOST': '数据库服务器地址',
'PORT': 3306,
}
}
# 这里可以方便切换不同数据库
DATABASES = {'default': db_config['pgsql']}
中:
MySQL 需要安装 mysqlclient
包
PostgreSql 需要安装 psycopg2
包