title: Django form is saying field is required despite providing value
body: <p>I have a form with a required field <code>customer_phone_number</code> and despite passing a phone number in with the data the form isn't valid..</p>
  
  <p>Submitting the form through a view works but not in the shell.</p>
  
  <pre><code>class OrderForm(forms.ModelForm):
      class Meta:
          model = models.Order
          fields = (
              'date',
              'customer_phone_number',
          )
      def __init__(self, *args, **kwargs):
          super().__init__(*args, **kwargs)
          self.fields['customer_phone_number'].required = True
          self.fields['customer_phone_number'].widget = PhoneNumberPrefixWidget()
  
  data = {
      'date': '2020-04-20',
      'customer_phone_number': '+17168567800',
  }
  form = OrderForm(data=data)
  form.is_valid()
  print(form.errors)  # {'customer_phone_number': ['This field is required.']}
  </code></pre>
  
  <p>The only thing I can think of is that I'm using a custom widget but I have no idea how to correct this error.</p>
  
  <pre><code>from phonenumber_field.phonenumber import PhoneNumber
  
  from django.forms import Select, TextInput
  from django.forms.widgets import MultiWidget
  
  
  class PhonePrefixSelect(Select):
      initial = '+1'
  
      def __init__(self, attrs=None):
          choices = [('+1', '+1')]
          super().__init__(attrs, choices=sorted(choices, key=lambda item: item[1]))
  
      def render(self, name, value, *args, **kwargs):
          return super().render(
              name, value or self.initial, *args, **kwargs)
  
  
  class PhoneNumberPrefixWidget(MultiWidget):
      """
      A Widget that splits phone number input into:
      - a country select box for phone prefix
      - an input for local phone number
      """
  
      def __init__(self, attrs=None):
          widgets = (
              PhonePrefixSelect(attrs={
                  'class': 'form-control w-25 mr-2',
                  'tabindex': '-1'
              }),
              TextInput(attrs={
                  'class': 'form-control w-75'
              }),
          )
          super().__init__(widgets, attrs)
  
      def decompress(self, value):
          if value:
              if type(value) == PhoneNumber:
                  if value.country_code and value.national_number:
                      return ["+%d" % value.country_code, value.national_number]
              else:
                  return value.split('.')
          return [None, ""]
  
      def value_from_datadict(self, data, files, name):
          values = super().value_from_datadict(
              data, files, name)
          if all(values):
              return '%s.%s' % tuple(values)
          return ''
  </code></pre>