diff options
Diffstat (limited to 'django/contrib/admin/options.py')
| -rw-r--r-- | django/contrib/admin/options.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index 7a4ff947a8..6e4ad180ac 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -567,7 +567,7 @@ class ModelAdmin(BaseModelAdmin): return inline_instances def get_urls(self): - from django.conf.urls import url + from django.urls import path def wrap(view): def wrapper(*args, **kwargs): @@ -578,14 +578,14 @@ class ModelAdmin(BaseModelAdmin): info = self.model._meta.app_label, self.model._meta.model_name urlpatterns = [ - url(r'^$', wrap(self.changelist_view), name='%s_%s_changelist' % info), - url(r'^add/$', wrap(self.add_view), name='%s_%s_add' % info), - url(r'^autocomplete/$', wrap(self.autocomplete_view), name='%s_%s_autocomplete' % info), - url(r'^(.+)/history/$', wrap(self.history_view), name='%s_%s_history' % info), - url(r'^(.+)/delete/$', wrap(self.delete_view), name='%s_%s_delete' % info), - url(r'^(.+)/change/$', wrap(self.change_view), name='%s_%s_change' % info), + path('', wrap(self.changelist_view), name='%s_%s_changelist' % info), + path('add/', wrap(self.add_view), name='%s_%s_add' % info), + path('autocomplete/', wrap(self.autocomplete_view), name='%s_%s_autocomplete' % info), + path('<path:object_id>/history/', wrap(self.history_view), name='%s_%s_history' % info), + path('<path:object_id>/delete/', wrap(self.delete_view), name='%s_%s_delete' % info), + path('<path:object_id>/change/', wrap(self.change_view), name='%s_%s_change' % info), # For backwards compatibility (was the change url before 1.9) - url(r'^(.+)/$', wrap(RedirectView.as_view( + path('<path:object_id>/', wrap(RedirectView.as_view( pattern_name='%s:%s_%s_change' % ((self.admin_site.name,) + info) ))), ] @@ -1173,8 +1173,7 @@ class ModelAdmin(BaseModelAdmin): opts = obj._meta to_field = request.POST.get(TO_FIELD_VAR) attr = str(to_field) if to_field else opts.pk.attname - # Retrieve the `object_id` from the resolved pattern arguments. - value = request.resolver_match.args[0] + value = request.resolver_match.kwargs['object_id'] new_value = obj.serializable_value(attr) popup_response_data = json.dumps({ 'action': 'change', |
