2011-07-16 5 views
0

Ma déclaration sql brute est la suivante:utilisant django ORM pour réaliser mon filtre

select* from t 
where dateadd(ss,closedate-datediff(ss,getdate(),getutcdate()),'1970-1-1') 
     between convert (datetime,'2011-7-1 00:00:00') and convert(datetime,'2011-7-31 23:59:59') 

closedate est l'une de ma colonne dans le tableau t, cela signifie: secondes de 01/01/1970.

Comment réaliser cette requête en utilisant Django ORM?, Ici en cause dateadd, datediff (serveur SQL 2005) APIs,

Je ne sais pas comment ce handler prob.

+0

vous pouvez afficher le modèle django et schéma table de base? –

Répondre

0

Essayez-vous de faire une requête de plage de dates? Quelque chose comme, obtenir tous les enregistrements qui tombent entre 2 dates? Si oui, alors quelque chose comme ce qui suit vous donnera les enregistrements dans le dernier 30 jours

today = date.today() + timedelta(days=1) 
n_days_ago = today + timedelta(days=-30) 
trans = Transactions.objects.filter(payment_received_date__range=[n_days_ago ,today]) 
+0

merci, sprezzatura – crafet