'Performs a simulated ``PATCH`` request to the provided URI.
Optionally accepts a ``data`` kwarg. **Unlike** ``GET``, in ``PATCH``
the ``data`` gets serialized & sent as the body instead of becoming
part of the URI.
Example::
from tastypie.test import TestApiClient
client = TestApiClient()
response = client.patch(\'/api/v1/entry/1/\', data={
\'created\': \'2012-05-01T20:02:36\',
\'slug\': \'another-post\',
\'title\': \'Another Post\',
\'user\': \'/api/v1/user/1/\',
Optionally accepts an ``authentication`` kwarg, which should be an HTTP
header with the correct authentication data already setup.
All other ``**kwargs`` passed in get passed through to the Django
``TestClient``. See
https://docs.djangoproject.com/en/dev/topics/testing/#module-django.test.client
for details.'

def patch(self, uri, format=u'json', data=None, authentication=None, **kwargs):

    content_type = self.get_content_type(format)
    kwargs[u'content_type'] = content_type
    if (data is not None):
        kwargs[u'data'] = self.serializer.serialize(data, format=content_type)
    if (authentication is not None):
        kwargs[u'HTTP_AUTHORIZATION'] = authentication
    return self.client.patch(uri, **kwargs)
