2010-07-20 24 views
0

我需要通過django向數據庫提出特殊請求。Django模型。對數據庫的複雜請求

例如:

class Model(models.Model): 
    name=models.CharField() 
    date=models.DateTimeField() 
    other=models.TextField() 

我怎麼問行這名containe字'Hello'(它建議立即進行刪除ignor第一個字母的寄存器) 到底是必須在日期的和諧,比如2005.08.09之間2005.08.11

回答

1

嘗試以下操作:

start_date = datetime.date(2005, 8, 9) 
end_date = datetime.date(2005, 8, 11) 
Model.objects.filter(name__icontains="hello").filter(date__range(start_date,end_date)) 

只要你喜歡你可以堆疊儘可能多的過濾器,它建成後將成爲一個SQL查詢(或者你使用任何數據庫系統)

+0

我可以通過這個請求在get()方法中,如果我知道只會有一個結果? – Pol 2010-07-20 13:16:16

+0

是的,有Q對象,但性能不會更好。 – Josiah 2010-07-20 18:55:40