title: Change Django required form field to False
body: <p>I am trying to change the required of a form field to 'False' depending on the input of another field.</p>
  
  <p>form:</p>
  
  <pre><code>class MyNewForm(forms.Form):
  
  def __init__(self, *args, **kwargs):
      self.users = kwargs.pop('users', None)
      super(MyNewForm, self).__init__(*args, **kwargs)
  
  
      self.fields['name'] = forms.CharField(
          max_length=60,
          required=True,
          label="Name *:",
          widget=forms.TextInput(
              attrs={'class' : 'form-control', 'placeholder': 'Name'})
      )
  
  def clean_this_other_field(self):
  
      # change required field
      name = self.fields['name']
      print name.required
      name.required=False
      print name.required
  </code></pre>
  
  <p>results of print:</p>
  
  <p><strong>True</strong></p>
  
  <p><strong>False</strong></p>
  
  <p>So the field required is changing to 'False' but when the form page reloads it reverts back to 'True'</p>
  
  <p>Any suggestions?</p>
  
  <blockquote>
    <p>EDIT - Problem solved</p>
  </blockquote>
  
  <p>For anyone landing on this with a similar issue:</p>
  
  <pre><code>def clean_remove(self):
      cleaned_data = super(MyNewForm, self).clean()
      remove = cleaned_data.get('remove', None)
      if remove:
          self.fields['name'].required=False
  </code></pre>
  
  <p>Remove is the first field in the form so adding this clean on the remove field resolves the issue.</p>