doh! Just noticed that you already referenced ticket 10154 in your
original post.

On Fri, Oct 15, 2010 at 3:16 PM, Alec Shaner <asha...@chumpland.org> wrote:
> Interesting solution - after all that maybe it's more concise to just
> use the 'extra' filter instead since you're making it specific to
> mysql anyway, and you could use mysql date functions.
>
> By the way, in answer to your original question on this thread, there
> already is a ticket to add F() + timedelta.
>
> http://code.djangoproject.com/ticket/10154
>
> On Fri, Oct 15, 2010 at 2:48 PM, Marc Aymerich <glicer...@gmail.com> wrote:
>>
>>
>> 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.
>>
>

-- 
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.

Reply via email to