数据库
首页 > 数据库> > python测试开发django-194.addcomments 模块生成mysql表字段注释

python测试开发django-194.addcomments 模块生成mysql表字段注释

作者:互联网

前言

在Django 中 models 模型虽然给字段加了 verbose_name 属性,通过 migrate 命令生成好对应的表,但是表注释并没有生成

问题描述

models 模型创建表结构

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 模块

pip install addcomments

models模型需要给每个字段加verbose_name属性

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

NSTALLED_APPS = [
    ......
    'addcomments',
]

执行生成表注释命令

python manage.py addcolumncomments

执行过程中会看到以下日志

-- 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 '项目名称'

执行完成后就可以看到表字段注释了

标签:web,name,python,194,addcomments,projectinfo,models,verbose
来源: https://www.cnblogs.com/yoyoketang/p/16463335.html