代码之家  ›  专栏  ›  技术社区  ›  Mat

如何以编程方式获取Django模型字段的最大长度?

  •  56
  • Mat  · 技术社区  · 15 年前

    class Person(models.Model):
        name = models.CharField(max_length=50)
        # ...
    

    如何通过编程获得 max_length name 领域

    2 回复  |  直到 15 年前
        1
  •  111
  •   Ben James    15 年前

    Person._meta.get_field('name').max_length 会给你这个值。 _meta 建议在正常使用情况下不要这样做。

    编辑:正如卡尔指出的,这个命名是误导性的,使用它似乎是可以接受的: http://www.b-list.org/weblog/2007/nov/04/working-models/

        2
  •  5
  •   Ginés Hidalgo    6 年前

    问题是关于模型的,但对于试图对表单做同样操作的人(这就是我在本文中的结局),我认为这种方法非常简单和明确:
    1.在模板中:
    {{form.name.field.max_length}}

    2.在python代码中(例如在视图中)
    form.name.field.max_length