有没有办法(不使用表单)访问模型字段选择值?
我想做类似的事情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()
功能。