On Fri, Oct 15, 2010 at 7:54 PM, Alec Shaner <asha...@chumpland.org> wrote:
> On Fri, Oct 15, 2010 at 1:26 PM, Marc Aymerich <glicer...@gmail.com> > wrote: > > > > Instead of use datatime.timedelta I convert it to string with this > format: > > YYYYMMDDHHMMSS and now all works fine with mysql :) Unfortunately this > part > > of code doesn't be database independent :( > > > > Thank you very much alec! > > > > -- > > Marc > > No problem. > > So if you don't mind, what does your query filter look like now using > the converted format? > > hi :) this is the get_query_set method of my custom Manager: def get_query_set(self): c=config.get('ignore_bill_period') #c is a dict like this {u'hours': u'00', u'seconds': u'00', u'minutes': u'00', u'days': u'07'} ignore_period = c['days']+c['hours']+c['minutes']+c['seconds'] delta_ignore_period = datetime.timedelta(days=int(c['days']), hours=int(c['hours']), minutes=int(c['minutes']), seconds=int(c['seconds'])) now_sub_ignore = datetime.datetime.now() - delta_ignore_period #IF db backend is MySQL: return super(pending_of_billManager, self).get_query_set().filter(Q(cancel_date__isnull=False, \ cancel_date__gt=F('register_date') + ignore_period) | Q(cancel_date__isnull=True, \ register_date__lt=now_sub_ignore)) #ELSE: #return super(pending_of_billManager, self).get_query_set().filter(Q(cancel_date__isnull=False, \ # cancel_date__gt=F('register_date') + delta_ignore_period) | Q(cancel_date__isnull=True, # register_date__lt=now_sub_ignore)) a lot of code for a simple query, but it's the best I can do :) br -- Marc -- 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.