获取Django中model字段名 字段的verbose_name
obj._meta.fields 为关键 obj为model类
推荐使用函数
from django.apps import apps def getmodelfield(appname,modelname,exclude):
"""
获取model的verbose_name和name的字段
"""
modelobj = apps.get_model(appname, modelname)
filed = modelobj._meta.fields
print(filed)
fielddic = {} params = [f for f in filed if f.name not in exclude] for i in params:
fielddic[i.name] = i.verbose_name
return fielddic
exclude = ['username','email','is_staff','last_login','password','last_name','date_joined','is_active','is_superuser']
cs = getmodelfield('users', 'UserProfile',exclude) #输出结果为:
{'active': 'active', 'registration_number': '工商注册号', 'contact_person': '联系人', 'company_person': '单位法人', 'education': '学历', 'gender': 'gender', 'id': 'ID', 'address': '地址', 'first_name': <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7fe70c6a77b8>, 'title': '职称', 'company_type': '单位类型', 'introduction': '简介', 'project_role': '项目角色', 'gcp': 'gcp', 'department': '部门', 'realname': '姓名', 'company': '单位', 'mobile': '电话'}
定义model类型
class UserMessage(models.Model):
"""
用户信息表
""" user = models.ForeignKey(User,verbose_name='用户名')
study_number = models.IntegerField(default='', verbose_name='研究编号')
study_name = models.CharField(max_length=50, default='',verbose_name='研究名称')
study_disease = models.CharField(max_length=20, default='',verbose_name='研究疾病')
study_medicine = models.CharField(max_length=25, default='',verbose_name='研究药物/器械')
responsible_person = models.CharField(max_length=10, default='',verbose_name='负责人')
start_time = models.DateField(null=True,blank=True, verbose_name='开始时间')
end_time = models.DateField(null=True,blank=True, verbose_name='创建时间')
article = models.CharField(max_length=20, default='', verbose_name='文章发表情况')
influence = models.CharField(max_length=20, default='', verbose_name='影响因子')
funds = models.CharField(max_length=30, default='', verbose_name='经费来源')
pay = models.CharField(max_length=100,default='', verbose_name='费用')
util = models.CharField(max_length=5, default='', verbose_name='单位')
add_time = models.DateField(auto_now_add=True, verbose_name='添加时间')
填写View视图,输出model的name以及verbose_name
exclude_fields = ('user', 'add_time')
params = [f for f in UserMessage._meta.fields if f.name not in exclude_fields]
print (params)
for msg in params:
print(msg.name,msg.verbose_name)
结果如下
id ID
study_number 研究编号
study_name 研究名称
study_disease 研究疾病
study_medicine 研究药物/器械
responsible_person 负责人
start_time 开始时间
end_time 创建时间
article 文章发表情况
influence 影响因子
funds 经费来源
pay 费用
util 单位
获取Django中model字段名 字段的verbose_name的更多相关文章
- Django中ORM介绍和字段及其参数
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
- Django中ORM介绍和字段及字段参数
Object Relational Mapping(ORM) 1 ORM介绍 1.1 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对 ...
- Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)
Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...
- Django中ORM介绍和字段参数
Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...
- Django中ORM介绍和字段
ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述 ...
- 6月20日 Django中ORM介绍和字段、字段参数、相关操作
一.Django中ORM介绍和字段及字段参数 二.Django ORM 常用字段和参数 三.Django ORM执行原生SQL.在Python脚本中调用Django环境.Django终端打印SQL语句 ...
- 获取Django model中字段名,字段的verbose_name,字段类型
如下app:ywreport下存在model:Game: class Game(models.Model): name = models.CharField(u'游戏名称',max_length=30 ...
- django中model字段与属性
model field 类型1.AutoField 一个自增的IntegerField,一般不直接使用,Django会自动给每张表添加一个自增的primary key. 2.BigIntege ...
- django中自定义表名及字段名称
在meta 类中指定表名,在字段中通过db_column指定列名如下所示 class Record(models.Model): content=models.CharField(max_length ...
随机推荐
- cocos2dx跟eclipse交叉编译“make: * No rule to make target `all' Stop”的解决方案
cocos2dx和eclipse交叉编译“make: *** No rule to make target `all'. Stop”的解决方案 搞cocos2dx在eclipse上的交叉编译. 项目. ...
- [SpriteKit] 系统框架中Cocos2d-x制作小游戏ZombieConga
概述 使用SpriteKit实现一个简单的游戏, 通过一个游戏来进行SpriteKit的入门, 熟练2D游戏的API, 也可以更好的结合在iOS应用中. 详细 代码下载:http://www.demo ...
- OpenStack 网络:Neutron 初探
OpenStack Neutron 网络模型 OpenStack nova-network 独立成为单独的组件 Neutron 后,形象的网络模型的多平面网络.混合平面私有网络.如图 3,图 4,图 ...
- 2016年度GitHub上Stars最多的10个项目
来源于:https://zhuanlan.zhihu.com/p/24627923 2016年接近尾声,在最近的几篇文章中,会整理总结一些2016年度开源项目.今天整理的是:2016年度GitHub最 ...
- Tomcat路径下目录的介绍
本文转自:http://blog.csdn.net/u013132035/article/details/54949593 下图是TOMCAT的路径下目录的截图. 目录有:backup. ...
- QRCode - 二维码识别与生成
来源:Yi'mouleng(@丶伊眸冷) 链接:http://t.cn/R40WxcM 前言 有关二维码的介绍,我这里不做过多说明, 可以直接去基维百科查看,附上链接QR code(https://e ...
- log4j的NDC/MDC区别与应用
MDC与NDC除了存储方式(MDC采用MapNDC采用堆栈结构)有区别,其他都一样的 关键点 A -//引入log4j MDC类org.apache.log4j.MDC -//设置值 -MDC.put ...
- 基于HTTP在互联网传输敏感数据的消息摘要、签名与加密方案
基于HTTP在互联网传输敏感数据的消息摘要.签名与加密方案 博客分类: 信息安全 Java 签名加密AESMD5HTTPS 一.关键词 HTTP,HTTPS,AES,SHA-1,MD5,消息摘要,数 ...
- GL_总账完整会计周期业务(流程)
2014-06-02 BaoXinjian
- iOS 关于 设计模式 与网友讨论实录
关于 设计模式 与网友讨论实录 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留 ...