Hi all I've been working on DurationFields this evening (ticket #2443)[1]. My implementation is working pretty well with a single TextInput. I'm storing the durations as Decimal in the database (since from what I've heard storing them as a 64-bit int is a no-go), in microseconds. When creating or modifying a DurationField, the user can either use ints/floats/float strings which will be interpreted as seconds, or use a datetime.timedelta object. In the admin (this will need some inline help or similar), users have a single text input, which lets them type durations as, for example "1w" for 1 week, "1h 30min", or even "1y 7m 6w 3d 18h 30min 23s 10ms 150mis" (in order of all accepted values). The values don't have to be in a specific order and a repeated one will be accounted both times (10d 1h 5d will be 15d 1h).
What I need help with: - The admin output is the result of a str(timedelta), I haven't figured out how to use from_timedelta() on the value; so for now a DurationField will show "10 days, 0:00:00" when it should show "10d". - Moving from_timedelta, to_timedelta and values_in_milliseconds elsewhere. They are reusable for other similar fields and don't belong where I coded them. But I'm not familiar with Django, and I don't know where they should be. Somewhere in django.utils? - Any unnecessary code I haven't spotted. My patch is based on the previous DurationField implementation which dates from pre 1.0, I'm unsure if there's anything not necessary anymore. - Any comment on the code, the implementation, etc is appreciated. However I haven't sent other Django patches before, be nice :-) Thanks. Jerome [1] The patch: http://code.djangoproject.com/attachment/ticket/2443/durationfield-new.diff --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---