django - 如何将 django 的默认 sqlite3 数据库更改为更高级的数据库,如 MySQL?
问题描述
我想在我的 Django 中使用更好的数据库,例如postgresql或mysql。这样做的步骤是什么?
解决方案
在 MySQL 的情况下:
- 安装
mysqlclient
在您的虚拟环境中。
$ pip install mysqlclient
- 输入 MySQL 并 Create database 连接你的项目
$ mysql
mysql> create database django_project;
Query OK, 1 row affected (0.01 sec)
mysql> use django_project
mysql> show tables;
Empty set (0.01 sec)
- 将您的项目连接到数据库(MySQL)
# your_settings.py
...
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_project',
'USER': 'root',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
- 迁移
$ python manage.py migrate
- 查看
$ mysql
mysql> use django_project;
mysql> show tables;
+--------------------------+
| Tables_in_django_project |
+--------------------------+
| accounts |
| comments |
| django_content_type |
| django_migrations |
| django_session |
+--------------------------+
5 rows in set (0.01 sec)
- 完毕!
推荐阅读
- amazon-web-services - 部署类似 AWS 云形成资源的最佳方式
- javascript - 我们如何使用 javascirpt 从 HTML 响应的脚本标签中获取变量值?
- ios - 代号一 iOS 64 位性能
- flutter - Flutter 文件已写入但无处可寻
- android - Alarmmanager setExact 方法无法正常工作
- python - 从 Google Drive 读取到 Google Colab 后,图像数据以不同/随机顺序存储在数组中
- postgis - What approach should I use in PostGIS to find all services that have a radius that intersect a customer
- ocaml - OCaml:为什么`let f : int -> int list -> int list = (::);;` 会失败?
- java - org.hibernate.type.NumericBooleanType 不转换 JPASQLQuery 中的值
- keras - 尝试从容器中的 AWS lambda 中使用 keras 模型超时