有没有办法(不使用表格)来访问模型字段的“选择”值?
我想做类似field.choices的事情 - 并在视图或模板中获取值列表
答案 0 :(得分:47)
当然,只需访问“模型”字段的choice
属性即可。
MyModel._meta.get_field('foo').choices
my_instance._meta.get_field('foo').choices
答案 1 :(得分:7)
如果您宣布您的选择如下:
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
答案 2 :(得分:4)
我认为您正在寻找get_fieldname_display()
功能。