Django'da bir aydan daha kısa bir tarihle tüm nesneleri almanın bir yolu var mı? gibiBir aydan daha az tüm öğeleri alma
şey:
items = Item.objects.filter(less than a month old).order_by(...)
Django'da bir aydan daha kısa bir tarihle tüm nesneleri almanın bir yolu var mı? gibiBir aydan daha az tüm öğeleri alma
şey:
items = Item.objects.filter(less than a month old).order_by(...)
bir "ay" tutarındaki tanımı nedir? 30 gün? 31 gün mü? O Geçmiş, bunu yapmak gerekir:
from datetime import datetime, timedelta
last_month = datetime.today() - timedelta(days=30)
items = Item.objects.filter(my_date__gte=last_month).order_by(...)
gte alan arama, advantange götürür.
Bu, datetime.today() 1 Mart - geçen ay Ocak değil, Şubat olduğunda başarısız olur. İhtiyacınız yoksa, bu iyi çalışır (30 gün önce = geçen ay) ama aslında geçen ay neler olduğunu bilmeniz gerekiyorsa, python'da bunun hakkında kolay bir yol yoktur. (BİLDİĞİM KADARIYLA). –
* ** python-dateutil ** içinde * relatiedelta * olduğunu size tam olarak geçen ay verebilir. – Neutralizer
[Here] (https://stackoverflow.com/a/9725093/209050) 'datetime' dışında hiçbir şey kullanmadan bir önceki ayı elde etmenin tek yolu. – mgalgs
items = Item.objects.filter(created_date__gte=aMonthAgo)
aMonthAgo, datetime ve timedelta tarafından hesaplanacaktır.
"Tüm nesneler" ne demek istiyorsun? Belirli bir türdeki tüm nesneleri mi kastediyorsunuz? –
Evet, "Öğeler" türündeki tüm nesneler –