2012-07-30 7 views
1
class event_archive(models.Model): 
event_id   = models.AutoField(primary_key=True) 
date_submitted  = models.DateTimeField() 
event_start_time = models.DateTimeField() 
event_end_time  = models.DateTimeField() 
event_closed  = models.BooleanField() 

Je veux faire ceci: Voici le pseudo_code:django comparant datetime.now avec pub_date


event = event_archive.objects.all() 
for e in event: 
if event_start_time > datetime_now() 
    print "upcoming"; 
elif event_start_time < datetime_now() < event_end_time 
    print "now"; 
elif event_end_time < datetime_now() < **24 hours passed the event ends** 
    print "%d hours ago",%hour; 
elif event_end_time < datetime_now() > **24 hours passed the event ends** and event_end_time < datetime_now() < **48 hours passed the event ends** 
    print "yesterday"; 
else 
    print "recorded" 
endif; 
endfor; 

** Je suis très nouveau dans la programmation et python..Please ne vous dérange pas si j'ai posé une question très stupide ou ne met pas la question clairement .. Dans la ligne en gras, je ne suis pas sûr de ce que je devrais utiliser ??

je besoin d'aide pour écrire mon avis django function..Any aide s'il vous plaît ..

Répondre

1

Si vous faites cela pour un modèle, utilisez les filtres timeuntil et timesince qui sont conçus pour cette tâche.

0
from datetime import datetime 

datetime_now = datetime.now() 

'datetime_now' variable a maintenant l'heure actuelle.

Utilisez cette variable pour comparer avec l'heure de début de l'événement et imprimer ou faire des choses pertinentes pour cette condition.

pour par exemple:

if event_start_time > datetime_now: 
    print "upcoming" 
+0

Je suis bloqué dans la condition elif: ex: elif event_end_time oxvoxic