2009-09-03 114 views
1

是否可以读取Django模型的字段选项?例如,使用模型:阅读Django模型的字段选项

class MyModel(models.Model): 
    source_url = models.URLField(max_length=500) 
    ... 

即如何以编程方式从视图或表单内读取“max_length”选项。

我目前的解决方法是定义一个单独的类属性:

class MyModel(models.Model): 
    SOURCE_URL_MAX_LENGTH=500 
    source_url = models.URLField(max_length=SOURCE_URL_MAX_LENGTH) 
    ... 

那么我就可以访问,从任何地方进口models.MyModel,例如:

from models import MyModel 
max_length = MyModel.SOURCE_URL_MAX_LENGTH 

回答

5

做这种方式。

from models import MyModel 
try: 
    max_length = MyModel._meta.get_field('source_url').max_length 
except: 
    max_length = None 
+0

很好,谢谢。 – msanders 2009-09-03 12:58:30