      status = models.CharField(
          max_length=20,
          choices=(('option one', 'Option One'),
                   ('option two', 'Option Two')))
      slug1 = models.SlugField()
      slug2 = models.SlugField()
  
  class RelatedPrepopulated(models.Model):
      parent = models.ForeignKey(MainPrepopulated)
      name = models.CharField(max_length=75)
      pubdate = models.DateField()
 
</s> remove             var field = $(this);

            field.data('_changed', false);
            field.change(function() {
                field.data('_changed', true);
            });
 </s> add             var prepopulatedField = $(this); </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                 // Bail if the fields value has changed
                if (field.data('_changed') == true) return;
 
 </s> add                 // Bail if the field's value has been changed by the user
                if (prepopulatedField.data('_changed')) {
                    return;
                }
 </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:
    slug1 = models.SlugField(blank=True)
    slug2 = models.SlugField(blank=True)
      status = models.CharField(
          max_length=20,
          choices=(('option one', 'Option One'),
                   ('option two', 'Option Two')))
    slug1 = models.SlugField(blank=True)
    slug2 = models.SlugField(blank=True)
    slug1 = models.SlugField(blank=True)
    slug2 = models.SlugField(blank=True)
  
  class RelatedPrepopulated(models.Model):
      parent = models.ForeignKey(MainPrepopulated)
      name = models.CharField(max_length=75)
      pubdate = models.DateField()
keep keep keep keep 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. 
tests/admin_views/models.py