2009-09-03 78 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