2016-12-14 17 views

答えて

3

エラー

AttributeError: 'DateField' object has no attribute 'year' 

を得ました...コードの下に

DOB = models.DateField() 
Age = models.IntegerField(max_length= 2, default= date.today().year - DOB.year) 

を試してみました

ちょうどそれをプロパティにしてください(おそらくさらにcached_property

あなたのviews.pyで
@property 
def age(self): 
    return date.today().year - self.DOB.year 
+0

ValueError:シリアル化できません: Djangoが移行ファイルにシリアル化できない値があります。 – python19

+0

はDOB = m.DateField() @property デフ年齢(自己): リターンdate.today()年 - python19 @ self.DOB.year 年齢= m.IntegerField(デフォルト=年齢) – python19

+0

- 「あなた。このような動的なデフォルトを設定することはできませんし、実際にデータベースに格納する必要もありません。 " – Sayse

0

import datetime 
from .models import * 

def age(self): 
    return datetime.date.today().year - self.DOB.year 

あなたはHTMLファイルに表示したり、データベースに格納すること返された値を使用することができます。

+0

あなたの返信ありがとう..しかし、インポートエラー" "が発生しています。理由はまず、〜age〜メソッドをmodels.pyの先頭にインポートする必要があります。その時点ではimport errors ... models.pyはまだどのモデルも定義していないので – python19

関連する問題