2012-02-04 5 views
0

これは私が今やっている方法です。DateFieldを使用せずにリアルタイムで現在の年としてデフォルトの年を設定します

class Season(models.Model): 
    Name = models.CharField(max_length=20) 
    Year = models.CharField(max_length=6) 
    start_date = models.DateField() 
    end_date = models.DateField() 
    league = models.ManyToManyField(League) 
    def __init__(self): 
     """ 
     Setting default year current year 
     """ 
     today = datetime.date.today() 
     today = today.timetuple() 
     defaultyear = today[0] 
     defaultyear = str(defaultyear) 
     self.Year = defaultyear 
     return self.Year 

私は右のinit を使用しています...または私は何かが足りないのですか?または ''の名前を 'setyear'に変更する必要があります。もしそうなら、私はどのように私のdjango管理者で呼び出すのですか?

//マウス

答えて

1

また、呼び出し可能なことができ、フォームフィールドのdefaultパラメータを使用することができます。おかげで..あなたがsetyear__init__の名前を変更(およびクラスの外に移動する)ことができ、その場合にはhttps://docs.djangoproject.com/en/dev/ref/models/fields/#default

を参照してください、そしてYear = models.CharField(max_length=6, default=setyear)

+0

素晴らしいとフィールドを定義 – debuggerpk