Login

Use dateutil's relativedelta to sort an arbitrary list of Django objects by date

Author:
cmcavoy
Posted:
March 1, 2007
Language:
Python
Version:
Pre .96
Tags:
date dateutil sort
Score:
4 (after 4 ratings)

Sometimes you'll have a list of ORM objects that aren't in a QuerySet, but you still want to sort them by date. For instance, you have a list of shows with a date_time attribute. Maybe you used a list comprehension to filter them...who knows. Regardless, you have a list (not a QuerySet) of Django objects.

1
2
3
4
5
6
7
8
9
"""
Given a list of objects with date_time attributes
 that return a datetime, this sorts them in ascending 
order.  It requires the dateutil package from
 http://cheeseshop.python.org/pypi/python-dateutil"""

from dateutil.relativedelta import *

shows.sort(cmp=lambda x,y:relativedelta(x.date_time,y.date_time).minutes)

More like this

Comments

Please login first before commenting.