Django Sqlite 数据库,在已有表中添加新字段

2022-06-21 15:08:59 浏览数 (1)

一、model文件添加字段

可根据字段要求设置属性,如字段类型、是否为null,默认值等

代码语言:javascript复制
from django.db import models

# Create your models here.
class Case(models.Model):
    run_time = models.CharField(max_length=100, default='2022-05-20 13:43:38')  # 运行时间点

    def __str__(self):
        return str(self.id)
二、迁移数据
1、项目文件下执行命令:
代码语言:javascript复制
#添加迁移事务
python manage.py makemigrations
#将迁移标记为以应用
python manage.py migrate
代码语言:javascript复制
$ python manage.py makemigrations
Migrations for 'App':
  App/migrations/0019_auto_20220520_1510.py
    - Alter field run_time on case
$ python manage.py migrate
Operations to perform:
  Apply all migrations: App, admin, auth, authtoken, contenttypes, django_cas_ng, sessions
Running migrations:
  Applying App.0019_auto_20220520_1510... OK

2、迁移完成后,将生成迁移文件
3、迁移完成后,新字段添加成功
三、撤销迁移
1、撤销上一次迁移数据

可以通过 migrate 传递上一次迁移的编号来撤销迁移。 例如,要撤销最近一次迁移 0020_auto_20220520_1511,进入迁移文件,找到dependencies中信息

代码语言:javascript复制
dependencies = [
        ('App', '0019_auto_20220520_1510'),
    ]

命令行中执行撤销: python manage.py migrate App 0019

代码语言:javascript复制
$ python manage.py migrate App 0019
Operations to perform:
  Target specific migration: 0019_auto_20220520_1510, from App
Running migrations:
  Rendering model states... DONE
  Unapplying App.0020_auto_20220520_1511... OK

2、撤销应应用于一个应用的所有迁移

python manage.py migrate App zero

0 人点赞