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的设置的主要内容,如果未能解决你的问题,请参考以下文章

django ORM 数据库连接配置

Django进阶-ORM框架

坑—— Django ORM 连接超时的坑

关于Django中ORM数据库迁移的配置

Django框架—— orm增删改查Django生命周期

Django框架-- orm增删改查Django生命周期