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

Смежные вопросы