                  field.data('_changed', true);
              });
  
              var populate = function () {
                  // Bail if the fields value has changed
                  if (field.data('_changed') == true) return;
   
                  var values = [];
                  $.each(dependencies, function(i, field) {
                    if ($(field).val().length > 0) {
                        values.push($(field).val());
                    }
 
</s> remove                   if ($(field).val().length > 0) {
                      values.push($(field).val());
                  }
                })
                field.val(URLify(values.join(' '), maxLength));
 </s> add                     field = $(field);
                    if (field.val().length > 0) {
                        values.push(field.val());
                    }
                });
                prepopulatedField.val(URLify(values.join(' '), maxLength)); </s> remove             var field = $(this);

            field.data('_changed', false);
            field.change(function() {
                field.data('_changed', true);
            });
 </s> add             var prepopulatedField = $(this); </s> remove             $(dependencies.join(',')).keyup(populate).change(populate).focus(populate);
 </s> add             prepopulatedField.data('_changed', false);
            prepopulatedField.change(function() {
                prepopulatedField.data('_changed', true);
            });

            if (!prepopulatedField.val()) {
                $(dependencies.join(',')).keyup(populate).change(populate).focus(populate);
            } </s> remove             URLifies and shortens the string. 
            dependencies - array of dependent fields id's 
            maxLength - maximum length of the URLify'd string 
 </s> add             URLifies and shortens the string.
            dependencies - array of dependent fields ids
            maxLength - maximum length of the URLify'd string </s> remove     if context['add'] and 'adminform' in context:
 </s> add     if 'adminform' in context:
                // Bail if the field's value has been changed by the user
                if (prepopulatedField.data('_changed')) {
                    return;
                }

                  field.data('_changed', true);
              });
  
              var populate = function () {
                // Bail if the field's value has been changed by the user
                if (prepopulatedField.data('_changed')) {
                    return;
                }

                // Bail if the field's value has been changed by the user
                if (prepopulatedField.data('_changed')) {
                    return;
                }

                // Bail if the field's value has been changed by the user
                if (prepopulatedField.data('_changed')) {
                    return;
                }

                  var values = [];
                  $.each(dependencies, function(i, field) {
                    if ($(field).val().length > 0) {
                        values.push($(field).val());
                    }
keep keep keep keep replace replace replace keep keep keep keep keep
 Fixed #19082 -- Enabled admin field pre-population for existing objects.
Thanks to msaelices and d1ffuz0r for the initial patch and tests. 
django/contrib/admin/static/admin/js/prepopulate.js