获取Django中model字段名 字段的verbose_name
转自:https://www.cnblogs.com/zhaoyingjie/p/6484482.html
obj._meta.fields 为关键 obj为model类
推荐使用函数
from django.apps import appsdef getmodelfield(appname,modelname,exclude):"""获取model的verbose_name和name的字段"""modelobj = apps.get_model(appname, modelname)filed = modelobj._meta.fieldsprint(filed)fielddic = {}params = [f for f in filed if f.name not in exclude]for i in params:fielddic[i.name] = i.verbose_namereturn 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 单位
转载于:https://www.cnblogs.com/eternal1025/p/9244069.html
获取Django中model字段名 字段的verbose_name相关推荐
- oracle查询表的字段类型有哪些,oracle中查询表的信息,包括表名,字段名,字段类型,主键(精)...
通过搜索摸索,总结了一下 oracle 中查询表的信息,包括表名,字段名,字段类型,主键, 外键唯一性约束信息,索引信息查询 SQL 如下,希望对大家有所帮助: 1.查询出所有的用户表 select ...
- java get null_java 获取对象中为null的字段实例代码
下面一段简单的代码给大家分享java 获取对象中为null的字段,具体代码如下所述: private static String[] getNullPropertyNames(Object sourc ...
- Django中Model继承的三种方式
Django中Model继承的三种方式 Django中Model的继承有三种: 1.抽象继承 2.多表继承 3.proxy model(代理model) 1.抽象继承 第一种抽象继承,创建一个通用父类 ...
- Django中model新建数据表操作后admin页面不更新问题
Django中model新建数据表操作后admin页面不更新问题 这种情况一般是没有在admin.py文件中进行模型的注册所导致的,打开应用文件夹下的admin.py,然后添加代码: from .mo ...
- 修改字段类型 Alter table 表名 modify 字段名 字段类型mysql数据库概念及入门语句...
1.数据库的概念 数据库(DataBase,DB)是一个长期存储在计算机内的.有组织的.有共享的.统一管理的数据集合.她是一个按数据结构来存储和管理数据的计算机软件系统.数据库的概念实际包括两层意思: ...
- django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation
django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation ...
- django中Models常用的字段及属性介绍
模型类 介绍 每个模型类都可以被映射为数据库中的一个数据表,类类属性被映射为数据字段,除此之外,数据库表的主键.外键.约束等也通过类属性完成定义 模型类属性 属性 描述 AutoField AutoF ...
- java中的字段是_Java – 获取类中特定数据类型的字段
原文链接作者:mkyong 译者:王乐(2270134103@qq.com) 一些Java反射API的例子. 1.显示所有字段和数据类型 使用反射遍历一个类声明的所有字段. CompanyA.java ...
- django中model模型
python manage.py dumpdata blog # 导出blog数据 python manage.py loaddata blog_dump.json # 导入数据 m ...
最新文章
- 另存为里面没有jpg_选用打印捕捉功能将 SolidWorks 画面另存为JPG格式高清大图
- 杨强教授力荐,快速部署落地深度学习应用的实践手册
- java网络编程的通信原理_11 - 网络编程之设备间通信原理
- 反向非归零编码_【基础】什么是编码器?
- [转]SQL2005后的ROW_NUMBER()函数的应用
- 程序员面试题精选100题(04)-二元树中和为某一值的所有路径[数据结构]
- python 没有了matlab的fscanf功能,我该怎么办
- 信息网络安全技术知识
- 为什么用 php widget,13.6 Widget扩展
- Bootstrap入门(二十九)JS插件6:弹出框
- IP地址不是唯一的吗?为什么路由器的IP地址都是这样的呢?
- java = 优化_Java9系列第7篇:Java.util.Optional优化与增强 - 字母哥博客 - 博客园
- 牛客题霸 转圈打印矩阵 C++题解/答案
- 《TensorFlow:实战Google深度学习框架》——5.3 TensorFlow中的变量初始化函数
- Spring Boot项目JSP页面中文乱码解决
- No binary rubies available for: osx/10.15/x86_64/ruby-2.6.3. Continuing with compilation.
- 如何处理微信域名防封
- 吉林大学计算机 林向,基于不同尺度的山西太岳山森林主导生态功能评价研究...
- 有效 TCP RST
- Windwos注册表案例(友尽百科)
热门文章
- 退火模拟算法c语言程序,C语言模拟退火算法(C language simulated annealing algorithm).doc...
- [Ting's笔记Day9]活用套件Carrierwave gem:(4)使用Imagemagick修改图片大小
- 使用Redis的有序集合实现排行榜功能
- 使用Python快速获取公众号文章定制电子书(二)
- 老李分享:5个衡量软件质量的标准
- asp.net mvc 简单文件下载
- 域名解析:记录类型的含义
- JFinal中实体类存取之循序渐进法
- linux下自动补全问题: autocomplete sh: ( compgen -d — ” ): No such file or directory
- 为了车票而奔波着.....