2012-08-01 2 views
5

ジャンゴDateTimeField型()

def official_deadline_past(self): 
    if datetime.datetime.today() > self.official_deadline: 
     return True 
    return False 
をしかし、それは常に返します

class Assignment (models.Model): 
    official_deadline = models.DateTimeField(null=True, blank=True) 

私は、現在の日時と比較する必要があるが、私が試してみましたFalse私も試しました:

def official_deadline_past(self): 
    if datetime.datetime.now() > self.official_deadline: 
     return True 
    return False 

私は同じ問題があります。

私はフィールドの情報を持っている:2011-07-02 00:00:00ModelForm

+0

投稿したコードはうまくいくはずです。もう少し詳細を追加できますか?メソッド内で 'self.official_deadline'の値を表示/ログすると、値は何ですか? – Alasdair

+0

私はAlasdairに同意します - 比較が戻ってくる値を確認する必要があります。これは、私がdjangoシェルを使いたいときです。 –

+0

私は 'assignment.official_deadline'を尋ねると、' datetime.datetime(2011、7,2,5,0、tzinfo = ) 'を持っています。そして、私が 'assignment.official_deadline_past'を呼び出すと、>のバインドメソッドAssignment.official_deadline_past – nlassaux

答えて

0

によって生成された形で、たとえば私は、Python 2.7.3の下に日時とDateTimeField型を比較し、同様の問題を持っていたし、1.3.1

Iドンジャンゴだから、DateTimeFieldが良いタイムゾーンをサポートしていたと思うか、それとも正しく設定されていないのでしょうか?

datetimeフィールドにタイムゾーンを指定するたびに、DateTimeField> datetimeのすべての比較が失敗します。

datetimeはローカルの中央時間を使用していましたが、DateTimeFieldは東に入力されました。

私はちょうど愚かなハックを入れて、それを東方に変換するためにdatetimeの中心オブジェクトにtimedelta(時間= 1)を追加しました。

関連する問題