From 62e7940c33c3f193d2db41c10ea70916b860f461 Mon Sep 17 00:00:00 2001 From: Jacob Rief Date: Fri, 18 Jul 2014 18:26:51 +0200 Subject: [PATCH] Fixed: adding polymoric model with django-parler did not work --- polymorphic/admin.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/polymorphic/admin.py b/polymorphic/admin.py index 2d1d13e..9ef4ec5 100644 --- a/polymorphic/admin.py +++ b/polymorphic/admin.py @@ -15,8 +15,16 @@ from django.shortcuts import render_to_response from django.template.context import RequestContext from django.utils import six from django.utils.encoding import force_text +from django.utils.http import urlencode from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ +try: + # Django 1.6 implements this + from django.contrib.admin.templatetags.admin_urls import add_preserved_filters +except ImportError: + def add_preserved_filters(context, form_url): + return form_url + __all__ = ( 'PolymorphicModelChoiceForm', 'PolymorphicParentModelAdmin', @@ -227,6 +235,12 @@ class PolymorphicParentModelAdmin(admin.ModelAdmin): return self.add_type_view(request) else: real_admin = self._get_real_admin_by_ct(ct_id) + # rebuild form_url, otherwise libraries below will override it. + form_url = add_preserved_filters({ + 'preserved_filters': urlencode({'ct_id': ct_id}), + 'opts': self.model._meta}, + form_url + ) return real_admin.add_view(request, form_url, extra_context)