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

  1. Browser-native date input field by kytta 1 month, 1 week ago
  2. Generate and render HTML Table by LLyaudet 1 month, 2 weeks ago
  3. My firs Snippets by GutemaG 1 month, 2 weeks ago
  4. FileField having auto upload_to path by junaidmgithub 2 months, 3 weeks ago
  5. LazyPrimaryKeyRelatedField by LLyaudet 3 months ago

Comments

Please login first before commenting.