  
      def __init__(self, instance=None, data=None, context=None, **kwargs):
          super(BaseSerializer, self).__init__(**kwargs)
          self.opts = self._options_class(self.Meta)
          self.parent = None
          self.root = None
  
          self.context = context or {}
 
</s> remove         self.fields = copy.deepcopy(self.base_fields)
 </s> add  </s> remove         self.read_only = self.default_read_only
 </s> add         self.read_only = kwargs.pop('read_only', self.default_read_only)

    def initialize(self, parent, field_name):
        super(RelatedField, self).initialize(parent, field_name)
        if self.queryset is None and not self.read_only:
            try:
                manager = getattr(self.parent.opts.model, self.source or field_name)
                if hasattr(manager, 'related'):  # Forward
                    self.queryset = manager.related.model._default_manager.all()
                else:  # Reverse
                    self.queryset = manager.field.rel.to._default_manager.all()
            except:
                raise
                msg = ('Serializer related fields must include a `queryset`' +
                       ' argument or set `read_only=True')
                raise Exception(msg) </s> remove     def restore_object(self, attrs, instance=None):
        return BlogPostComment(**attrs)
 </s> add     class Meta:
        model = BlogPostComment
        fields = ('text', 'blog_post_url') </s> remove     blog_post_url = serializers.HyperlinkedRelatedField(source='blog_post', view_name='blogpost-detail', queryset=BlogPost.objects.all())
 </s> add     blog_post_url = serializers.HyperlinkedRelatedField(source='blog_post', view_name='blogpost-detail') </s> remove class BlogPostCommentSerializer(serializers.Serializer):
 </s> add class BlogPostCommentSerializer(serializers.ModelSerializer):
        self.fields = copy.deepcopy(self.base_fields)
  
      def __init__(self, instance=None, data=None, context=None, **kwargs):
          super(BaseSerializer, self).__init__(**kwargs)
          self.opts = self._options_class(self.Meta)
        self.fields = copy.deepcopy(self.base_fields)
          self.parent = None
          self.root = None
  
          self.context = context or {}
keep keep keep add keep keep keep keep
 `queryset` argument is now optional on writable model fields. 
rest_framework/serializers.py