2017-05-16 3 views
0

私は、Djangoのアプリを持っている、と私は時間フィールドで午前0時を必要と日付フィールドジャンゴget_initial方法は

promoted_from = models.DateTimeField(blank=True, null=True) 
promoted_to = models.DateTimeField(blank=True, null=True) 

のための初期データを持っていると思います。このアプリで

私はget_initial方法があります:

def get_initial(self): 
    initial = super(BasePostEdit, self).get_initial() 
    get = self.request.GET 
    initial.update(get) 
    if initial.get("pub_date", None): 
     initial["pub_date"] = datetime.strptime(initial["pub_date"][0], "%d/%m/%Y") 

    return initial 

をしかし、私は、2つの別のフィールドpromoted_frompromoted_toを持っていると思います。私はこの方法で成功しませんでした:

def get_initial(self): 
    initial = super(BasePostEdit, self).get_initial() 
    get = self.request.GET 
    initial.update(get) 
    if initial.get("pub_date", None): 
     initial["pub_date"] = datetime.strptime(initial["pub_date"][0], "%d/%m/%Y") 

    if initial.get("promoted_from", None): 
     initial["promoted_from"] = datetime.strptime(initial["promoted_from"][0], "%d/%m/%Y") 

    return initial 

助けを借りて/いくつかのヒント。

答えて

0

これを行う必要はありません。あなたは、値をカスタマイズデフォルトとして呼び出し可能を使用する必要がある場合

promoted_from = models.DateTimeField(blank=True, null=True, default=datetime.datetime.now) 
promoted_to = models.DateTimeField(blank=True, null=True, default=datetime.datetime.now) 

編集

:あなただけ自分フィールド上のデフォルトを設定することができ

def midnight_today(): 
    return datetime.datetime.combine(datetime.date.today(), datetime.time(0,0)) 

...

promoted_from = models.DateTimeField(blank=True, null=True, default=midnight_today) 

スタンドアロンの楽しみモデルのメソッドではありません。

+0

あなたの答えをありがとう、私は必要と思う私の更新をチェックしてください:私は時間フィールドで00:00が必要です。 – Kai