      def post(self, request, *args, **kwargs):
          return Response({'method': 'POST', 'data': request.DATA})
  
  
  @api_view(['GET', 'POST'])
  def basic_view(request):
      if request.method == 'GET':
          return {'method': 'GET'}
      elif request.method == 'POST':
          return {'method': 'POST', 'data': request.DATA}
 
</s> remove             return ModelField(model_field=model_field)
 </s> add             ret = ModelField(model_field=model_field)

        if model_field.default:
            ret.required = False

        return ret </s> remove             return  # TODO Consider validation behaviour, 'required' opt etc...
 </s> add             if self.required:
                raise ValidationError(self.error_messages['required'])
            return </s> remove             return field_mapping[model_field.__class__]()
 </s> add             ret = field_mapping[model_field.__class__]()
@api_view(['GET', 'POST', 'PUT'])
      def post(self, request, *args, **kwargs):
          return Response({'method': 'POST', 'data': request.DATA})
  
  
@api_view(['GET', 'POST', 'PUT'])
  def basic_view(request):
      if request.method == 'GET':
          return {'method': 'GET'}
      elif request.method == 'POST':
          return {'method': 'POST', 'data': request.DATA}
keep keep keep keep replace keep keep keep keep keep
 Fix issue where required fields were not being properly validated.  Also make model fields with a default value be not required 
rest_framework/tests/views.py