ホームページ  >  記事  >  ウェブフロントエンド  >  [Django]モデルで定義された選択肢辞書は、page_html/css_WEB-ITnose の値を表示します

[Django]モデルで定義された選択肢辞書は、page_html/css_WEB-ITnose の値を表示します

WBOY
WBOYオリジナル
2016-06-24 11:56:051176ブラウズ

質問:

django の models.py では、いくつかの辞書の値に似た選択肢のタプルを定義します。通常はドロップダウン ボックスまたは単一および複数の選択ボックスです。たとえば、0 は男性、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)

データベースに 0 が格納されている場合は国全体が表示され、1 の場合は都道府県と市区町村が表示されます。

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

Django にそのようなメソッドはありますか? 直接使用するとどうなりますか?


解決策:
最初にグーグルで検索すると、最初の結果が表示されます:

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


これが答えです。 django に付属するメソッドの 1 つは、 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_field name_display と記述することで、辞書の値を直接表示できます。


フレームワークをうまく使いたい場合は、さらに多くのドキュメントを読む必要があります。


この記事は「orangleliu Notebook」ブログからのものです。転載する場合は必ずこのソースを保管してください http://blog.csdn.net/orangleliu/article/details/40268093

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。