2012-01-12 3 views
1

は私がジャンゴ - プリセットフィールド(カスタムフィールド)

rate = models.DecimalField(
    max_digits=2, 
    decimal_places=1, 
    choices=MY_CHOICES, 
) 

として設定usualyフィールドを持っているとのモデルは私が

rate = mymodels.MyRateField() 

のように、それを定義することができます方法はありますか?私はあなたがDecimalFieldをサブクラス化し、その__init__をオーバーライドすることができると思い

class RateField(models.DecimalField): 
    def __init__(self, *args, **kwargs): 
     kwargs.update(dict(max_digits=2, decimal_places=1, choices=MY_CHOICES)) 
     super(RateField, self).__init__(*args, **kwargs) 

rate = RateField() 

答えて

5

あなたは、継承を使用することができます。

+0

ありがとうございます。この明らかな質問を申し訳ありません。 –

+0

質問をする人もいます。また、カスタムフィールドを作成することは、最初に始めたときに実行するだけでなく、高度なトピックになります。 –