获取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 ...
随机推荐
- Ubuntu 12.04解决重启后resolv.conf清空的问题
这跟以前用RHT系的 情况是完全不一样的: 在google上搜了一下,发现这里面还真有些奥妙: 1 /etc/resolv.conf 其实是一个Link 它其实指向的是 /run/resolvconf ...
- HTTP所承载的货物(图像、文本、软件等)要满足的条件
HTTP所承载的货物(图像.文本.软件等)要满足的条件: •可以被正确识别 通过Content-Type 首部说明媒体格式,Content-Language 说明语言,以便浏览器和其他客户端能正确处理 ...
- java 加密工具(产生证书)
给Tomcat服务器应用加密: 命令:keytool -genkey -alias tomcat -keyalg RSA -genkey产生密钥对 -alias取得别名 -keyalg RSA产生密钥 ...
- ZOJ 2314 有上下界的网络流
problemCode=2314">点击打开链接 题意:给定m条边和n个节点.每条边最少的流量和最多的流量.保证每一个节点的出入流量和相等,问能够形成吗,能够则输出每条边的流量 思路: ...
- 使用Python操作Memcached
1.安装 yum install memcached easy_install python-memcached 2.操作memcached import memcache mc = memcache ...
- jQuery动态表格插件 AppendGrid
AppendGrid是一个jQuery动态表格插件,提供像填写电子表格数据一样在页面去输入结构化数据. 它允许用户在表格里增加/删除/插入/删除行,控制input/select/textarea 提交 ...
- CoreData数据库升级
如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表.字段等操作),那在覆盖安装程序时就要进行CoreData数据库的迁移,具体操作如下: 1.选中你的mydata.xc ...
- js重要函数
window.setTimeout(code,millisec) 方法用于在指定的毫秒数后调用函数或计算表达式.只执行 code 一次(比如某个界面是上左右的三个frame界面,右边这个界面要调用 ...
- 配置Kafka集群和zookeeper集群
原文链接请参见:http://www.cnblogs.com/5iTech/articles/6043224.html
- python dataframe 在merge时 产生笛卡尔积
在pandas中,concat, merge, join的使用方法可以参考以下资料: http://blog.csdn.net/stevenkwong/article/details/52528616 ...