• python测试开发django194.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爬虫如何提高效率
    对 js加密数据进行爬取和解密
    爬虫之数据解析
    requests模块的基本使用
    python的零碎知识
    Django中多表关联的展示问题:
    ModelForm的基本用法:
    websocket的应用---Django
    DOM
    BOM
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/16463335.html
Copyright © 2020-2023  润新知