2012-05-21 14 views
6

büyüksorgu arasında bir yapabilirsiniz <a href="https://docs.djangoproject.com/en/1.2/ref/models/querysets/#range" rel="noreferrer">_range</a> ile

start_date = datetime.date(2005, 1, 1) 
end_date = datetime.date(2005, 3, 31) 
Entry.objects.filter(pub_date__range=(start_date, end_date)) 
size 2 tarihleri ​​var ve het DB tarih bu 2 tarihleri ​​arasında ise kontrol etmek istiyorsanız

Bu kullanabilirsiniz

benim durumumda

Ben 1 tarihi var ve bu tarihten db

class Deals(models.Model): 
    #stuff 
    starting = models.DateField() 
    ending = models.Datefield() 

benim 2 tarih alanları arasında olup olmadığını sorguda month = '2010-01-01' olmadığını kontrol etmek için yapabileceğiniz Nasıl kontrol etmek istiyorum başlangıç ​​ve

Ben de Fırsatlar tablosundaki fırsatlar var

Edit biten arasındadır. Ben, (2010-01-01) 2010 Ocak 2010 Şubat (2010-02-01) bir anlaşma olup olmadığını bilmek istiyorum vs bu

SELECT * FROM deals WHERE '2010-01-01' BETWEEN starting AND ending 
+0

Belirli bir başlangıç ​​/ bitiş arasında bir ay olup olmadığını kontrol etmek bir sorgu gerektirmez. Demek ki, “month” un başlangıç ​​ve bitiş tarihleri ​​arasında olduğu Tarihler (ler) ini bulmak istediğiniz anlamına mı geliyor? –

+0

Konuyu düzenledim. Belli bir yılın her ayı için geçerli olan anlaşmaları bulmam gerekiyor. Umarım açık – nelsonvarela

cevap

11
Deals.objects.filter(starting__gte=mydate, ending__lte=mydate) 

Doc gibi

here olduğunu

+0

Bu yüzden arada kullanmak zorunda değilim. Teşekkürler! – nelsonvarela

+0

__range yararlı olabilir https://docs.djangoproject.com/en/1.7/ref/models/querysets/#range – Zippp

İlgili konular