summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
authorDavid Smith <smithdc@gmail.com>2020-08-30 13:44:39 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-09-24 13:53:06 +0200
commit599f2f79e22aaa475e45b72768babf70ac71a6b2 (patch)
tree89974d8358d76832ec25fbf8c7a3981bb4e8c653 /django/forms
parent1ac337cca61570ed64acf02e1700483f7fd02cf6 (diff)
Fixed #30563 -- Optimized form Media by removing duplicated assets when adding.
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/widgets.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index 7ea3c7bcbf..1b1c1439cb 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -146,8 +146,14 @@ class Media:
def __add__(self, other):
combined = Media()
- combined._css_lists = self._css_lists + other._css_lists
- combined._js_lists = self._js_lists + other._js_lists
+ combined._css_lists = self._css_lists[:]
+ combined._js_lists = self._js_lists[:]
+ for item in other._css_lists:
+ if item and item not in self._css_lists:
+ combined._css_lists.append(item)
+ for item in other._js_lists:
+ if item and item not in self._js_lists:
+ combined._js_lists.append(item)
return combined