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 单位

最新文章

  1. [LeetCode] Integer to Roman 整数转化成罗马数字
  2. linux 正则表达式与文件格式化处理
  3. CKEditor与CKFinder的配置(ASP.NET环境)
  4. 《BI那点儿事》数据仓库建模:星型模式、雪片模式
  5. Eclipse打开xml文件报校验错误解决办法
  6. NSQ:分布式的实时消息平台
  7. windows下svn自动更新
  8. html部分---通用标签与属性;
  9. 部署git server
  10. eclipse 批量 查询 替换
  11. oracle session 相关优化
  12. HDOJ/HDU 2544 最短路---dijkstra算法
  13. R语言画曲线图
  14. Java导出freemarker的三种方法
  15. PS图层混合算法之三(滤色, 叠加, 柔光, 强光)
  16. pycharm下getpass.getpass()卡住
  17. 初涉RxAndroid结合Glide实现多图片载入操作
  18. 获取bing带swim的网址列表
  19. jquery.color.js
  20. 批量Kill多个进程

热门文章

  1. centos7 卸载 gitlab
  2. 解决python:&#39;ascii&#39; codec can&#39;t encode characters in position问题
  3. redhat利用yum快速搭建LAMP环境
  4. write()和prinln()的区别?
  5. 【jQuery】JQuery-ui autocomplete与strtus2结合使用
  6. 工作总结 public DateTime? CollectionTime 可空类型 Code First
  7. C# 编码命名规则
  8. Fix-Mapped Addresses
  9. GDI+绘制简单图形
  10. Linux前台、后台、挂起、退出、查看命令汇总