Mat*_*Mat 62 python oop django django-models
假设我有一个像这样的Django类:
class Person(models.Model):
name = models.CharField(max_length=50)
# ...
Run Code Online (Sandbox Code Playgroud)
我如何以编程方式获得max_length该name字段的值?
Ben*_*mes 86
Person._meta.get_field('name').max_length会给你这个价值.但必须使用_meta表明这是你在正常使用中不应该做的事情.
编辑:正如卡尔指出的那样,这种命名具有误导性,使用它似乎完全可以接受:http://www.b-list.org/weblog/2007/nov/04/working-models/
问题是关于模型,但对于试图对表单做同样的事情的人(这就是我在这个线程中结束的方式),我认为这种方法非常简单明了:
1. 在模板中:
{{form.name.field.max_length}}
2. 在 python 代码中(例如在视图中)
form.name.field.max_length