モデル フィールドの選択肢の値にアクセスする (フォームを使用せずに) 方法はありますか?
field.choices
ビューまたはテンプレートのいずれかで値のリストを取得して取得したいと考えています。
モデル フィールドの選択肢の値にアクセスする (フォームを使用せずに) 方法はありますか?
field.choices
ビューまたはテンプレートのいずれかで値のリストを取得して取得したいと考えています。
もちろん。choices
Model フィールドの属性にアクセスするだけです。
MyModel._meta.get_field('foo').choices
my_instance._meta.get_field('foo').choices
次のように選択肢を宣言する場合:
class Topic(models.Model):
PRIMARY = 1
PRIMARY_SECONDARY = 2
TOPIC_LEVEL = ((PRIMARY, 'Primary'),
(PRIMARY_SECONDARY, 'Primary & Secondary'),)
topic_level = models.IntegerField('Topic Level', choices=TOPIC_LEVEL,
default=1)
これは本当に良い方法です。参照: http://www.b-list.org/weblog/2007/nov/02/handle-choices-right-way/
次に、単純に選択肢を取り戻すことができますTopic.TOPIC_LEVEL
機能を求めていると思いますget_fieldname_display()
。