前言
在Django 中 models 模型虽然给字段加了 verbose_name 属性,通过 migrate 命令生成好对应的表,但是表注释并没有生成
问题描述
models 模型创建表结构
代码语言:javascript复制class ProjectInfo(models.Model):
"""项目信息"""
class Meta:
verbose_name = '项目信息'
# db_table = 'ProjectInfo' # 此参数可以自定义表的名称
project_name = models.CharField(
verbose_name='项目名称',
max_length=100,
unique=True,
null=False)
虽然给字段加了 verbose_name='项目名称'
属性,执行同步数据库时,却没有对应注释
python manage.py makemigrations
python manage.py migrate
mysql 查看字段注释为空
addcomments 模块
pip 安装第三方 addcomments 模块
代码语言:javascript复制pip install addcomments
models模型需要给每个字段加verbose_name属性
代码语言:javascript复制class ProjectInfo(models.Model):
"""项目信息"""
class Meta:
verbose_name = '项目信息'
# db_table = 'ProjectInfo' # 此参数可以自定义表的名称
project_name = models.CharField(
verbose_name='项目名称',
max_length=100,
unique=True,
null=False)
settings.py注册app
代码语言:javascript复制NSTALLED_APPS = [
......
'addcomments',
]
执行生成表注释命令
代码语言:javascript复制python manage.py addcolumncomments
执行过程中会看到以下日志
代码语言:javascript复制-- FOR web_projectinfo.create_time
ALTER TABLE web_projectinfo
MODIFY COLUMN `create_time` datetime(6) NOT NULL COMMENT '创建时间'
-- FOR web_projectinfo.update_time
ALTER TABLE web_projectinfo
MODIFY COLUMN `update_time` datetime(6) NOT NULL COMMENT '更新时间'
-- FOR web_projectinfo.project_name
ALTER TABLE web_projectinfo
MODIFY COLUMN `project_name` varchar(100) NOT NULL COMMENT '项目名称'
执行完成后就可以看到表字段注释了
2022年第 11 期《python接口web自动化 测试开发》课程,6月5号开学