  
      if lookup_field and lookup_field != 'pk':
          include.append(lookup_field)
  
      return [field.name for field in obj._meta.fields if field.name not in include]
  
  
  class CreateModelMixin(object):
      """
      Create a model instance.
 
</s> remove         include.append(pk_field.name)

    if slug_field:
        # Deprecated
        include.append(slug_field)

    if lookup_field and lookup_field != 'pk':
        include.append(lookup_field)
 </s> add         lookup_field = pk_field.name </s> remove         try:
            return reverse(view_name, kwargs=kwargs, request=request, format=format)
        except NoReverseMatch:
            pass

        if self.pk_url_kwarg != 'pk':
            # Only try pk lookup if it has been explicitly set.
            # Otherwise, the default `lookup_field = 'pk'` has us covered.
            kwargs = {self.pk_url_kwarg: obj.pk}
            try:
                return reverse(view_name, kwargs=kwargs, request=request, format=format)
            except NoReverseMatch:
                pass

        slug = getattr(obj, self.slug_field, None)
        if slug:
            # Only use slug lookup if a slug field exists on the model
            kwargs = {self.slug_url_kwarg: slug}
            try:
                return reverse(view_name, kwargs=kwargs, request=request, format=format)
            except NoReverseMatch:
                pass

        raise NoReverseMatch()
 </s> add         return reverse(view_name, kwargs=kwargs, request=request, format=format) </s> remove     include = []

    if pk:
        # Deprecated
 </s> add     if lookup_field == 'pk': </s> remove         # These are deprecated
        if 'pk_url_kwarg' in kwargs:
            msg = 'pk_url_kwarg is deprecated. Use lookup_field instead.'
            warnings.warn(msg, DeprecationWarning, stacklevel=2)
        if 'slug_url_kwarg' in kwargs:
            msg = 'slug_url_kwarg is deprecated. Use lookup_field instead.'
            warnings.warn(msg, DeprecationWarning, stacklevel=2)
        if 'slug_field' in kwargs:
            msg = 'slug_field is deprecated. Use lookup_field instead.'
            warnings.warn(msg, DeprecationWarning, stacklevel=2)

        self.pk_url_kwarg = kwargs.pop('pk_url_kwarg', self.pk_url_kwarg)
        self.slug_field = kwargs.pop('slug_field', self.slug_field)
        default_slug_kwarg = self.slug_url_kwarg or self.slug_field
        self.slug_url_kwarg = kwargs.pop('slug_url_kwarg', default_slug_kwarg)

 </s> add  </s> remove         try:
            return reverse(view_name, kwargs=kwargs, request=request, format=format)
        except NoReverseMatch:
            pass

        if self.pk_url_kwarg != 'pk':
            # Only try pk if it has been explicitly set.
            # Otherwise, the default `lookup_field = 'pk'` has us covered.
            pk = obj.pk
            kwargs = {self.pk_url_kwarg: pk}
            try:
                return reverse(view_name, kwargs=kwargs, request=request, format=format)
            except NoReverseMatch:
                pass

        slug = getattr(obj, self.slug_field, None)
        if slug is not None:
            # Only try slug if it corresponds to an attribute on the object.
            kwargs = {self.slug_url_kwarg: slug}
            try:
                ret = reverse(view_name, kwargs=kwargs, request=request, format=format)
                if self.slug_field == 'slug' and self.slug_url_kwarg == 'slug':
                    # If the lookup succeeds using the default slug params,
                    # then `slug_field` is being used implicitly, and we
                    # we need to warn about the pending deprecation.
                    msg = 'Implicit slug field hyperlinked fields are deprecated.' \
                          'You should set `lookup_field=slug` on the HyperlinkedRelatedField.'
                    warnings.warn(msg, DeprecationWarning, stacklevel=2)
                return ret
            except NoReverseMatch:
                pass

        raise NoReverseMatch()
 </s> add         return reverse(view_name, kwargs=kwargs, request=request, format=format)
    return [field.name for field in obj._meta.fields if field.name != lookup_field]
  
      if lookup_field and lookup_field != 'pk':
          include.append(lookup_field)
  
    return [field.name for field in obj._meta.fields if field.name != lookup_field]
  
  
  class CreateModelMixin(object):
      """
      Create a model instance.
keep keep keep keep replace keep keep keep keep keep
 Remove `pk_url_field`, `slug_url_field`, `slug_field`.

Closes #1773. 
rest_framework/mixins.py