From 41b6a1ac9f1d4b478eb05305c8d37c0edbc1a146 Mon Sep 17 00:00:00 2001 From: Guillaume Thomas Date: Fri, 14 Nov 2014 16:47:21 +0100 Subject: [PATCH 1/2] Use correct dict init for versions < 2.7 --- django_pandas/utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/django_pandas/utils.py b/django_pandas/utils.py index 0540cd8..3474c39 100644 --- a/django_pandas/utils.py +++ b/django_pandas/utils.py @@ -45,9 +45,9 @@ def inner(pk_series): out_dict = cache.get_many(unique_cache_keys) if len(out_dict) < len(unique_cache_keys): - out_dict = {base_cache_key % obj.pk: force_text(obj) + out_dict = dict([(base_cache_key % obj.pk, force_text(obj)) for obj in model.objects.filter( - pk__in=list(filter(None, pk_series.unique())))} + pk__in=list(filter(None, pk_series.unique())))]) cache.set_many(out_dict) return list(map(out_dict.get, cache_keys)) @@ -58,8 +58,8 @@ def inner(pk_series): def build_update_functions(fieldnames, fields): for fieldname, field in zip(fieldnames, fields): if field.choices: - choices = {k: force_text(v) - for k, v in field.flatchoices} + choices = dict([(k, force_text(v)) + for k, v in field.flatchoices]) yield fieldname, replace_from_choices(choices) elif field.get_internal_type() == 'ForeignKey': From acf1ef823b12ffbb0ad55edfb2fc31749fc791bc Mon Sep 17 00:00:00 2001 From: Guillaume Thomas Date: Fri, 14 Nov 2014 17:01:25 +0100 Subject: [PATCH 2/2] The primary key of a model can be a string --> changed syntax for base_cache_key --- django_pandas/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/django_pandas/utils.py b/django_pandas/utils.py index 3474c39..9195240 100644 --- a/django_pandas/utils.py +++ b/django_pandas/utils.py @@ -11,7 +11,7 @@ def inner(values): def get_base_cache_key(model): - return 'pandas_%s_%s_%%d_rendering' % ( + return 'pandas_%s_%s_%%s_rendering' % ( model._meta.app_label, model._meta.module_name)