[Django]The choices dictionary defined in models displays values ​​in the page_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:56:05
Original
1163 people have browsed it

Question:

In django's models.py, we define some tuples of choices, similar to some dictionary values, usually drop-down boxes or single and multiple selection boxes, for example, 0 corresponds to male, 1 corresponds to female, etc.

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)
Copy after login

There is a table on the page to display the fields in the table. If 0 is stored in the database, it will display the whole country, and 1 will display the province. , municipalities are similar:

名称	代码	层级	     上级地区	操作全国		全国(0)		        删除北京	bj	省、直辖市(1)	全国	删除
Copy after login

Is there such a method in Django that we can use directly?


Solution:

We can google it first, the first result:

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

Here are the answers, one is to use django’s own method, and the other is to use if to judge (obviously everyone doesn’t like this)


Django’s documentation is here:

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

On the page, we can directly display the dictionary value by writing this

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

obj.get_field name_ display.

If you want to use the framework well, you still need to read more documents.


This article comes from the "orangleliu Notebook" blog. Please be sure to keep this source when reprinting http://blog.csdn.net/orangleliu/article/ details/40268093

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!