獲取Django model中字段名,字段的verbose_name,字段類型


如下app:ywreport下存在model:Game:

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

現在要取到Game這個model中有哪些字段已經這些字段的verbose_name

from django.db.models.loading import get_model
def getmodelfield(appname,modelname):
    modelobj = get_model(appname,modelname)
    fielddic={}
    for field in modelobj._meta.fields:
        fielddic[field.name] = field.verbose_name
        print '字段類型:',type(field).__name__        #返回的是‘charfield’,'textfield',等這些類型
    return fielddic
注:appname是model所在app的名字,modelname是model的名字

如果在view中執行get_model.filed('ywreport','Game'),那么fieldddic結果為

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

通過for循環輸入result內容:

gameid : 游戲id
id : ID
name : 游戲名稱


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM