title: Make ModelForm field's blank attribute dynamic
body: <p>I have a user model:</p>
  
  <pre><code>class User(models.Model):
      email = models.CharField(
          max_length=254,
          unique=True,
      )
  
      password = models.CharField(
          max_length=160,
          blank=True,
      )
  </code></pre>
  
  <p>I would like the blank attribute to be true only when editing an existing user and false when adding a new user.</p>
  
  <p>I am trying something like:</p>
  
  <pre><code>class UserForm(ModelForm):
      class Meta:
          model = User
          widgets = {
              'password': PasswordInput(),
          }
  
  class UserAdmin(admin.ModelAdmin):
      form = UserForm
  
      def save_model(self, request, obj, form, change):
          # Only change password when not blank
          if request.POST['password'] != '':
              obj.password = encrypt(request.POST['password'])
          else:
              if obj.pk is not None:
                  obj = obj.__class__._default_manager.get(pk=obj.pk)
              else:
                  self.form.Meta.model.password.blank = False
          obj.save()
  </code></pre>
  
  <p>I am getting this error:</p>
  
  <pre><code>type object 'User' has no attribute 'password'
  </code></pre>
  
  <p>So this line is not working:</p>
  
  <pre><code>self.form.Meta.model.password.blank = False
  </code></pre>
  
  <p>Is it possible to switch the value of blank from true to false and vice versa based on whether adding a new user or editing existing user?</p>