django中使用orm连接mysql,setting.py的设置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django中使用orm连接mysql,setting.py的设置相关的知识,希望对你有一定的参考价值。
默认使用的时sqllite数据库,我们需要改成mysql,只要需要填写相关信息即可。比如mysql的数据库名,用户名,密码,主机地址,端口等信息
# Database
# https://docs.djangoproject.com/en/4.1/ref/settings/#databases
# DATABASES =
# \'default\':
# \'ENGINE\': \'django.db.backends.sqlite3\',
# \'NAME\': BASE_DIR / \'db.sqlite3\',
#
#
DATABASES =
\'default\':
\'ENGINE\': \'django.db.backends.mysql\',
\'NAME\': \'djangotest\',
\'USER\': \'root\',
\'PASSWORD\': \'132456\',
\'HOST\': \'localhost\',
\'PORT\': \'3306\'
django入门 05 orm连接mySQL,调整表结构
【django入门】 05 orm连接mySQL,调整表结构
ORM —— Object Relational Mapping 对象关系映射
利用ORM写SQL语句,换句话说,用另一种语法写SQL语句
——疑问:这相对于SQL并不简便,这么做意义何在?
准备
- 安装python库 mysqlclient
pip install mysqlclient
- 创建mysql数据库,取名testDB
python可以创建表,但不能创建数据库
create database testDB default charset utf8mb4 collate utf8mb4_general_ci;
- 更新settings.py
DATABASES =
\'default\':
\'ENGINE\': \'django.db.backends.mysql\',
\'NAME\': \'test.db\',
\'USER\': \'root\',
\'PASSWORD\': \'123\',
\'HOST\': \'127.0.0.1\',
\'PORT\': \'3306\',
1. 创建table
- APP目录下models.py内输入代码
class UserInfo(models.Model):
name = models.CharField(max_length=32)
password = models.CharField(max_length=64)
age = models.IntegerField(default=0)
第1行:class类命名习惯,驼峰(首字母也大写)
第1行:models.Model,括号内第二个Model首字母须大写
第234行:每种Field都是首字母大写(也许因为这些Field都是类)
- 同步到mySQL
(前提是已在settings.py =→ INSTALLED_APPS内注册了本APP)
python manage.py makemigrations
python manage.py migrate
2. 删除table
删除models.py中具体class,同步即可
3. 删除字段(列)
删除class下字段即可
4. 新增字段(列)
注意,须设置该字段参数——default = ? 或者 null=true blank = true
来源:BV1NL41157 武沛齐《2022 B站最详细django3教程(django从入门到实践)》P12-P16
以上是关于django中使用orm连接mysql,setting.py的设置的主要内容,如果未能解决你的问题,请参考以下文章