前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python测试开发django-194.addcomments 模块生成mysql表字段注释

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

作者头像
上海-悠悠
发布2022-07-12 15:18:57
6310
发布2022-07-12 15:18:57
举报

前言

在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='项目名称' 属性,执行同步数据库时,却没有对应注释

代码语言:javascript
复制
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号开学

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 问题描述
  • addcomments 模块
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档