獲取Django model中的欄位名和欄位的verbose_name
阿新 • • 發佈:2018-11-16
定義模型:
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 : 遊戲名稱