      * Default `.create()` and `.update()` implementations are provided.
  
      The process of automatically determining a set of serializer fields
      based on the model fields is reasonably complex, but you almost certainly
      don't need to dig into the implemention.
  
      If the `ModelSerializer` class *doesn't* generate the set of fields that
      you need you should either declare the extra/differing fields explicitly on
      the serializer class, or simply use a `Serializer` class.
      """
 
</s> remove         # The suffix initkwarg is reserved for identifing the viewset type
 </s> add         # The suffix initkwarg is reserved for identifying the viewset type </s> remove `ModelSerializer` class and an equivelent explicit `Serializer` class.
 </s> add `ModelSerializer` class and an equivalent explicit `Serializer` class. </s> remove             # also explicity included in `Meta.fields`.
 </s> add             # also explicitly included in `Meta.fields`. </s> remove             'The `.create()` method does not suport nested writable fields '
 </s> add             'The `.create()` method does not support nested writable fields ' </s> remove             'The `.update()` method does not suport nested writable fields '
 </s> add             'The `.update()` method does not support nested writable fields '
    don't need to dig into the implementation.
      * Default `.create()` and `.update()` implementations are provided.
  
      The process of automatically determining a set of serializer fields
      based on the model fields is reasonably complex, but you almost certainly
    don't need to dig into the implementation.
  
      If the `ModelSerializer` class *doesn't* generate the set of fields that
      you need you should either declare the extra/differing fields explicitly on
      the serializer class, or simply use a `Serializer` class.
      """
keep keep keep keep replace keep keep keep keep keep
 Removed unused imports, pep8 fixes, typo fixes 
rest_framework/serializers.py