【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':  'testdb',
        '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

posted @ 2022-02-07 16:59  navii  阅读(93)  评论(0)    收藏  举报