说我有一个像这样的Django类:
class Person(models.Model):
name = models.CharField(max_length=50)
# ...
如何以编程方式获取max_length
字段的name
值?
答案 0 :(得分:82)
Person._meta.get_field('name').max_length
会给你这个价值。 但是必须使用 _meta
表示这是正常使用时不应该做的事情。
编辑:正如卡尔指出的那样,这种命名具有误导性,使用它似乎完全可以接受:http://www.b-list.org/weblog/2007/nov/04/working-models/
答案 1 :(得分:4)
问题在于模型,但是对于那些试图对形式做同样事情的人(这就是我在这个帖子中的结果),我认为这种方法非常简单明了:
1.在模板中:
{{form.name.field.max_length}}
2.在python代码中(例如在视图中)
form.name.field.max_length