获取Django model中的字段名和字段的verbose_name

定义模型: 

class Game(models.Model): 
    name = models.CharField(u'游戏名称',max_length=30) 
    gameid = models.CharField(u'游戏id',max_length=20) 
    def __str__(self): 
        return self.name

 获取字段名和verbose_name:

from django.apps import apps

def getmodelfield(appname,modelname):
    modelobj = apps.get_model(appname,modelname)
    field_dic={}
    for field in modelobj._meta.fields:
        field_dic[field.name] = field.verbose_name
        print('字段类型:',type(field).__name__)   #返回的是‘charfield’,'textfield',等这些类型
    return field_dic
注:appname是model所在app的名字,modelname是model的名字

如果在view中执行get_model.filed('Game_app','Game'),那么field_dic结果为:

{'gameid': '\u6e38\u620fid', 'id': 'ID', 'name': '\u6e38\u620f\u540d\u79f0'}

通过for循环输入result内容:

gameid : 游戏id
id : ID
name : 游戏名称

猜你喜欢

转载自blog.csdn.net/Aifore/article/details/82622851