[Django]models定義choices 字典中的頁面顯示值


問題:

在django的models.py 在。我們定義一些choices元組,類別似一些字典值。通常下拉框或單個復選框,例如 0相應的M 1婦女和其他有關

class Area(models.Model):
    Area_Level = (
         (0, u'全國'),
         (1, u'省、直轄市'),
         (2, u'市、直轄市區'),
         (3, u'區、縣等'),
    )

    areaname = models.CharField(max_length=30,unique=True, verbose_name='區域名稱')
    code = models.CharField(max_length=20,blank=True, default="", verbose_name='區域代碼')
    parentid  = models.IntegerField(verbose_name='父級id', null=True)
    level = models.IntegerField(choices=Area_Level,verbose_name='層級', null=True)

在頁面中有個table要把表中的字段顯示出來,假設數據庫中存儲的是0就顯示 全國, 1就顯示省、直轄市 類似:

名稱	代碼	層級	     上級地區	操作
全國		全國(0)		        刪除
北京	bj	省、直轄市(1)	全國	刪除

django中有沒有這樣的方法能夠讓我們直接使用呢? 


解決:

我們能夠先google 看下。第一個結果:

http://stackoverflow.com/questions/4320679/django-display-choice-value

這里就是答案了,一個是用django自帶的方式,一個是使用if來推斷(這樣的顯然大家都不喜歡)


django的文檔在這里:

https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display

在頁面上我們僅僅要這么寫就能夠直接把字典的值顯示出來了

 <td>{{ obj.get_level_display  }}({{ obj.level }})</td>

obj.get_字段名稱_display 。 

要想使用好框架,還是要多看文檔才行。


本文出自 orangleliu筆記本 博客。轉載請務必保留此出處http://blog.csdn.net/orangleliu/article/details/40268093

版權聲明:本文orangleliu(http://blog.csdn.net/orangleliu/)原創文章,轉載文章,請聲明。


免責聲明!

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



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