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

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 '项目名称'

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

以上是关于python测试开发django-194.addcomments 模块生成mysql表字段注释的主要内容,如果未能解决你的问题,请参考以下文章

测试开发系列之Python开发mock接口

学习python 测试开发

测试开发系列之Python开发mock接口

Python 开发与接口测试学习笔记

Python:Python常用开发框架Framework(WEB测试爬虫)总结

测试开发系列之Python开发mock接口