2011-05-05 10 views
9

çalışmıyor auto_now_add:Django DateTimeField şöyle ı bir zaman damgası alanı belirledik modelin birinde

created_datetime = models.DateTimeField(auto_now_add = True) 

kabuğunda i ancak benim uygulamada bu yükseltiyor, bunu bir obj oluşturmak ve kaydetmek mümkün pm created_datetime alanının boş olamayacağı bir istisna.

İşler yanlış gittiğinde karışık! Nasıl yeniden dekore edilir.

+0

'auto_now_add' işlevini kullanmak yerine, özel bir' save() 'kullanmak daha iyi. [Oku şunu.] (Http://stackoverflow.com/questions/1737017/django-auto-now-and-auto-now-add) – Konstant

cevap

2

Bu

created_datetime = models.DateTimeField(auto_now_add=True, auto_now=False) 
gibi bir şey yapabilirsiniz
11
olarak bildiğim kadarıyla, varsayılan tarihsaat için en iyi uygulama aşağıdaki kullanmaktır

:

created_datetime = models.DateTimeField(default=datetime.datetime.now) 

datetime ithal etmeyi unutmayın aşağıdaki yolu django ait "part1" olduğunu

+0

'auto_now'' için de benzer bir yaklaşım var mıdır? nedir? – Flowpoke

+0

"auto_now" işlevinin save() 'i geçersiz kıldığını ve datetime değerini manuel olarak ayarlayacağına inanıyorum. –

-1

dokümantasyon

from django.utils import timezone 
p = Poll(question="What's new?", pub_date=timezone.now()) 
İlgili konular