Hi, I've run into a weird bug that has me scratching my head - I'm seeing inconsistent results from a queryset between various apache processes and the django shell. I.e. sometimes a GET gives me the right response (as it hits a "correct" Apache instance) and other times it gives a wrong response. Restarting Apache causes problem to go away, but it resurfaces later.
I have a Poll class which has a start_time and an end_time, both of which are optional, plus an enabled field. A poll is considered active if it's enabled, and if it has a start_time then now > start_time, and if it has an end_time then now < end_time. What I'm seeing is that sometimes polls with a start_time that is before now are not showing up in the responses when I do a series of GETs. So e.g. first GET - shows poll, second one - doesn't show, third - doesn't, fourth - does and so on. >From a fresh python shell, the Poll.objects.active() call always gives the right results. The code in question is: class PollManager(models.Manager): def active(self): qs = super(PollManager, self).get_query_set().filter(enabled=True) q_start = Q(start_time__isnull=True) | Q(start_time__lte=datetime.datetime.now()) q_end = Q(end_time__isnull=True) | Q(end_time__gte=datetime.datetime.now()) return qs.filter(q_start,q_end) Where the models are is: class Event(models.Model): enabled = models.BooleanField() # automatic default false .... other fields class Poll(models.Model): event = models.ForeignKey(Event, db_index=True) enabled = models.BooleanField() # automatic default false start_time = models.DateTimeField(blank=True, null=True, help_text="Time to enable this poll (optional)") end_time = models.DateTimeField(blank=True, null=True, help_text="Time to close this poll (optional)") objects = PollManager() The view logic is basically: def view_polls(request, event_id): filtered_set = self.queryset._clone() # Queryset is Poll.objects.active().filter(event__enabled = True) filtered_set = filtered_set.filter(event__id=event_id) return render_to_response(template, filtered_set) (this has been elided and adapted - original code is using django-rest-api, JSON responder etc. But the call boils down to this) I'm confused as to what the problem could be - any clues? Cheers, Malcolm -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.