#30153: ModelAdmin with custom widgets, inlines, and filter_horizontal can merge media in broken order -------------------------------+------------------------------------ Reporter: roybi | Owner: nobody Type: Bug | Status: new Component: contrib.admin | Version: 2.1 Severity: Normal | Resolution: Keywords: | Triage Stage: Accepted Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 0 | UI/UX: 0 -------------------------------+------------------------------------
Comment (by Matthias Kestenholz): Replacing the patch with https://code.djangoproject.com/attachment/ticket/30153/test.2.patch because Django 2.2 and 3 will not use jquery in date fields anymore and therefore cannot be used to demonstrate the problem. I changed the code to use a `filter_horizontal` widget and now it fails again: {{{ ====================================================================== ERROR: test_inline_media_only_inline (admin_inlines.tests.TestInlineMedia) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python3.6/unittest/case.py", line 59, in testPartExecutor yield File "/usr/lib/python3.6/unittest/case.py", line 605, in run testMethod() File "/home/matthias/Projects/django/tests/admin_inlines/tests.py", line 495, in test_inline_media_only_inline response = self.client.get(change_url) File "/home/matthias/Projects/django/django/test/client.py", line 535, in get response = super().get(path, data=data, secure=secure, **extra) File "/home/matthias/Projects/django/django/test/client.py", line 347, in get **extra, File "/home/matthias/Projects/django/django/test/client.py", line 422, in generic return self.request(**r) File "/home/matthias/Projects/django/django/test/client.py", line 503, in request raise exc_value File "/home/matthias/Projects/django/django/core/handlers/exception.py", line 34, in inner response = get_response(request) File "/home/matthias/Projects/django/django/core/handlers/base.py", line 115, in _get_response response = self.process_exception_by_middleware(e, request) File "/home/matthias/Projects/django/django/core/handlers/base.py", line 113, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/matthias/Projects/django/django/contrib/admin/options.py", line 604, in wrapper return self.admin_site.admin_view(view)(*args, **kwargs) File "/home/matthias/Projects/django/django/utils/decorators.py", line 142, in _wrapped_view response = view_func(request, *args, **kwargs) File "/home/matthias/Projects/django/django/views/decorators/cache.py", line 44, in _wrapped_view_func response = view_func(request, *args, **kwargs) File "/home/matthias/Projects/django/django/contrib/admin/sites.py", line 223, in inner return view(request, *args, **kwargs) File "/home/matthias/Projects/django/django/contrib/admin/options.py", line 1635, in change_view return self.changeform_view(request, object_id, form_url, extra_context) File "/home/matthias/Projects/django/django/utils/decorators.py", line 45, in _wrapper return bound_method(*args, **kwargs) File "/home/matthias/Projects/django/django/utils/decorators.py", line 142, in _wrapped_view response = view_func(request, *args, **kwargs) File "/home/matthias/Projects/django/django/contrib/admin/options.py", line 1520, in changeform_view return self._changeform_view(request, object_id, form_url, extra_context) File "/home/matthias/Projects/django/django/contrib/admin/options.py", line 1594, in _changeform_view media = media + inline_formset.media File "/home/matthias/Projects/django/django/forms/widgets.py", line 135, in __add__ combined._js = self.merge(self._js, other._js) File "/home/matthias/Projects/django/django/forms/widgets.py", line 126, in merge MediaOrderConflictWarning, django.forms.widgets.MediaOrderConflictWarning: Detected duplicate Media files in an opposite order: admin/js/inlines.min.js admin/js/jquery.init.js }}} -- Ticket URL: <https://code.djangoproject.com/ticket/30153#comment:9> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/065.121332ecc5c406f76dc305d654ca5000%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.