Code

Ticket #13607: date_hierarchy_initialisation.3.diff

File date_hierarchy_initialisation.3.diff, 1.1 KB (added by DrMeers, 4 years ago)

Include check in case of empty querysets

Line 
1Index: django/contrib/admin/templatetags/admin_list.py
2===================================================================
3--- django/contrib/admin/templatetags/admin_list.py     (revision 13402)
4+++ django/contrib/admin/templatetags/admin_list.py     (working copy)
5@@ -225,6 +225,16 @@
6 
7         link = lambda d: cl.get_query_string(d, [field_generic])
8 
9+        if not (year_lookup or month_lookup or day_lookup):
10+            # select appropriate start level
11+            date_range = cl.query_set.aggregate(first=models.Min(field_name),
12+                                                last =models.Max(field_name))
13+            if date_range['first'] and date_range['last']:
14+                if date_range['first'].year == date_range['last'].year:
15+                    year_lookup = date_range['first'].year
16+                    if date_range['first'].month == date_range['last'].month:
17+                        month_lookup = date_range['first'].month
18+       
19         if year_lookup and month_lookup and day_lookup:
20             day = datetime.date(int(year_lookup), int(month_lookup), int(day_lookup))
21             return {