2009-09-03 4 views
1

Djangoモデルのフィールドのオプションを読むことは可能ですか?たとえば、モデルでは:Djangoモデルのフィールドオプションを読む

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

つまり、ビューやフォームの中から「max_length」オプションをプログラムでどのように読み込むのですか。私はその後、models.MyModelをインポートどこでも、例えば:

from models import MyModel 
max_length = MyModel.SOURCE_URL_MAX_LENGTH 

答えて

5

から、このようにそれを行うことをアクセスすることができ

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

私の現在の回避策は、別のクラスの属性を定義することです。

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

ありがとうございます。 – msanders