diff --git a/django/templatetags/admin_modify.py b/django/templatetags/admin_modify.py index 2938f47a58..fbf9071b01 100644 --- a/django/templatetags/admin_modify.py +++ b/django/templatetags/admin_modify.py @@ -180,7 +180,7 @@ def auto_populated_field_script(auto_pop_fields, change = False): add_values = ' + " " + '.join(['document.getElementById("id_%s").value' % g for g in field.prepopulate_from]) for f in field.prepopulate_from: - t.append('document.getElementById("id_%s").onkeyup = function() { var e = document.getElementById("id_%s"); if(e._changed) { e.value = URLify(%s, %s);} } ' % (f, field.name, add_values, field.maxlength) ) + t.append('document.getElementById("id_%s").onkeyup = function() { var e = document.getElementById("id_%s"); if(!e._changed) { e.value = URLify(%s, %s);} } ' % (f, field.name, add_values, field.maxlength) ) return ''.join(t) auto_populated_field_script = simple_tag(auto_populated_field_script) diff --git a/django/views/admin/main.py b/django/views/admin/main.py index 9401254b8e..0c59f78590 100644 --- a/django/views/admin/main.py +++ b/django/views/admin/main.py @@ -988,7 +988,7 @@ def _get_template(opts, app_label, add=False, change=False, show_delete=False, f else: t.append('document.getElementById("id_%s").onchange = function() { this._changed = true; };' % field.name) for f in field.prepopulate_from: - t.append('document.getElementById("id_%s").onkeyup = function() { var e = document.getElementById("id_%s"); if (e._changed) { e.value = URLify(%s, %s);}};' % \ + t.append('document.getElementById("id_%s").onkeyup = function() { var e = document.getElementById("id_%s"); if (!e._changed) { e.value = URLify(%s, %s);}};' % \ (f, field.name, ' + " " + '.join(['document.getElementById("id_%s").value' % g for g in field.prepopulate_from]), field.maxlength)) t.append('\n') if change and ordered_objects: