title: Django Rest Framework Saying Non-Required Field Is Required
body: <p><strong>The Backstory</strong></p>
  
  <p>In Django I have the models</p>
  
  <pre><code>class Company(models.Model):
      name = models.TextField(null=False,unique=True)
      date_added = models.DateTimeField(auto_now_add=True)
  
  class Address(models.Model):
      street = models.TextField()
  
  class Person(models.Model ): 
      firstname = models.TextField()
      address = models.ForeignKey(Address,null= True,on_delete=models.SET_NULL)
      company = models.ForeignKey(Company,null=True,on_delete=models.SET_NULL)
  </code></pre>
  
  <p>Where each person has an address and a company.(both non required fields)</p>
  
  <p>In DRF I have the serializers.</p>
  
  <pre><code>class AddressSerializer(serializers.ModelSerializer):
      class Meta:
          model = Address
          fields = '__all__'
  
  class CompanySerializer(serializers.ModelSerializer):
  
      class Meta:
          model = Company
          fields = "__all__"
  
  class PersonSerializer(serializers.ModelSerializer):
  
      class Meta:
          model = Person
          fields = ('id', 'firstname',  'address','company')
  
      def to_representation(self, instance):
          response = super().to_representation(instance)
          response['address'] = AddressSerializer(instance.address).data
          response['company'] = CompanySerializer(instance.company).data
          return response
  </code></pre>
  
  <p>and the ViewSets</p>
  
  <pre><code>class PersonViewSet(viewsets.ModelViewSet,UpdateModelMixin):
      queryset = Person.objects.all()
      serializer_class = PersonSerializer
      filter_backends = (OrderingFilter,DjangoFilterBackend,SearchFilter)
      filter_fields = ('id','company','firstname','middlename','lastname',)
      search_fields = ('firstname','middlename','lastname',)
  
  class CompanyViewSet(viewsets.ModelViewSet,UpdateModelMixin):
      queryset = Company.objects.all()
      serializer_class = CompanySerializer
      filter_backends = (OrderingFilter,DjangoFilterBackend,SearchFilter)
      filter_fields = ('id','name',)
      search_fields = ('name',)
  
  class AddressViewSet(viewsets.ModelViewSet,UpdateModelMixin):
      queryset = Address.objects.all()
      serializer_class = AddressSerializer
      filter_backends = [DjangoFilterBackend]
      filter_fields = ['id','street']
  </code></pre>
  
  <p><strong>The Issue</strong></p>
  
  <p>When posting the data <code>{"firstname":"foo"}</code> to this serializer, it returns a 400 error code saying. <code>{"company": ["This field is required."]}</code>.</p>
  
  <p>The odd thing is, the address field is set up the <em>seemingly</em> exact same way as the company field but does not throw this error.</p>
  
  <p>In order to make this work, you must post <code>{"firstname":"foo","company":null}</code> to the serializer, which seems a little silly considering that the address field works just fine.</p>
  
  <p>Does anybody have any idea what would be causing this issue and how to prevent this from happening?</p>