2016-03-23 7 views
1

私は過去3時間の検索に時間を費やしています。なぜ私のコードがうまくいかないのか分かりません。私は、作成日から今日の日付を減算しようとしている下部の日時フィールドを減算する

import datetime 
#get time since last status change 
@property 
def last_update(self): 
    if self.statuschange_set.exists(): 
     last_change = self.statuschange_set.all()[0] 
     return last_change.date_changed - self.created 
    #if no status change has occurred, use creation date 
    if not self.statuschange_set.exists(): 
     df = DateFormat(datetime.now()) 
     df = df.format("d/m/Y, P ") 
     return df - self.created 
    return "" 

コードブレーク。私は明らかにしかし、さらには他のを見てからDF間違っているの間違った整形を持って

Exception Value: 
unsupported operand type(s) for -: 'unicode' and 'datetime.datetime' 

:私は、しかし、上記のコードは、例外値を出してくれる自身からself.created差し引くことができるよどこ私はそれをテスト私は私の問題の解決策を考え出すことができません。

+2

ジャスト側注:あなたは 'else:'を知っていますか? 'self.statuschange_set.exists()'を2回確認することは避けられます。 – lupz

答えて

3

フォーマットが意味をなさない、あなたはちょうどあなたが本当にフォーマットが必要な場合は、この後の計算を行う必要があります

return datetime.now() - self.created 

datetime型としてそれを維持することができます

df = DateFormat(datetime.now() - self.created) 
... 
return df