get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.2/patches/833289/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 833289,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/833289/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/patchwork/patch/20171102102844.18931-7-stephen@that.guru/",
    "project": {
        "id": 16,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/16/?format=api",
        "name": "Patchwork",
        "link_name": "patchwork",
        "list_id": "patchwork.lists.ozlabs.org",
        "list_email": "patchwork@lists.ozlabs.org",
        "web_url": "http://jk.ozlabs.org/projects/patchwork/",
        "scm_url": "git://github.com/getpatchwork/patchwork",
        "webscm_url": "https://github.com/getpatchwork/patchwork",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20171102102844.18931-7-stephen@that.guru>",
    "list_archive_url": null,
    "date": "2017-11-02T10:28:41",
    "name": "[v2,6/9] REST: Allow for mutability of request.POST",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "75f9523e4f64d3903dda631b392df7fa0a0a6766",
    "submitter": {
        "id": 69991,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/69991/?format=api",
        "name": "Stephen Finucane",
        "email": "stephen@that.guru"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/patchwork/patch/20171102102844.18931-7-stephen@that.guru/mbox/",
    "series": [
        {
            "id": 11467,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/11467/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/patchwork/list/?series=11467",
            "date": "2017-11-02T10:28:35",
            "name": "Add support for Django 1.11",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/11467/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/833289/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/833289/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "patchwork@lists.ozlabs.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "patchwork@lists.ozlabs.org"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3ySM8w3PWTz9sRW\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  2 Nov 2017 21:42:08 +1100 (AEDT)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3ySM8w25dVzDrD8\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu,  2 Nov 2017 21:42:08 +1100 (AEDT)",
            "from cockroach.ash.relay.mailchannels.net\n\t(cockroach.ash.relay.mailchannels.net [23.83.222.37])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3ySM4N0t6KzDr67\n\tfor <patchwork@lists.ozlabs.org>;\n\tThu,  2 Nov 2017 21:38:10 +1100 (AEDT)",
            "from relay.mailchannels.net (localhost [127.0.0.1])\n\tby relay.mailchannels.net (Postfix) with ESMTP id 79D04368EC2\n\tfor <patchwork@lists.ozlabs.org>;\n\tThu,  2 Nov 2017 10:29:09 +0000 (UTC)",
            "from one.mxroute.com (unknown [100.96.131.5])\n\t(Authenticated sender: mxroute)\n\tby relay.mailchannels.net (Postfix) with ESMTPA id 00EE5367CC9\n\tfor <patchwork@lists.ozlabs.org>;\n\tThu,  2 Nov 2017 10:29:08 +0000 (UTC)",
            "from one.mxroute.com (one-outgoing.mxroute.com [172.20.66.218])\n\t(using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384)\n\tby 0.0.0.0:2500 (trex/5.9.14); Thu, 02 Nov 2017 10:29:09 +0000"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tdkim=fail reason=\"key not found in DNS\" (0-bit key;\n\tunprotected) header.d=that.guru header.i=@that.guru\n\theader.b=\"ElRpo392\"; dkim-atps=neutral",
            "lists.ozlabs.org;\n\tdkim=fail reason=\"key not found in DNS\" (0-bit key;\n\tunprotected) header.d=that.guru header.i=@that.guru\n\theader.b=\"ElRpo392\"; dkim-atps=neutral",
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=that.guru\n\t(client-ip=23.83.222.37; helo=cockroach.ash.relay.mailchannels.net;\n\tenvelope-from=stephen@that.guru; receiver=<UNKNOWN>)",
            "lists.ozlabs.org;\n\tdkim=fail reason=\"key not found in DNS\" (0-bit key;\n\tunprotected) header.d=that.guru header.i=@that.guru\n\theader.b=\"ElRpo392\"; dkim-atps=neutral"
        ],
        "X-Sender-Id": [
            "mxroute|x-authuser|stephen@that.guru",
            "mxroute|x-authuser|stephen@that.guru"
        ],
        "X-MC-Relay": "Neutral",
        "X-MailChannels-SenderId": "mxroute|x-authuser|stephen@that.guru",
        "X-MailChannels-Auth-Id": "mxroute",
        "X-Robust-Towering": "77d093ab3778dfee_1509618549259_1107434865",
        "X-MC-Loop-Signature": "1509618549259:3410384442",
        "X-MC-Ingress-Time": "1509618549258",
        "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=that.guru;\n\ts=default;\n\th=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:\n\tSender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:\n\tContent-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:\n\tResent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:\n\tList-Subscribe:List-Post:List-Owner:List-Archive;\n\tbh=qQk+c1mH2iWBHJbXebFRx28Y5qKQej2P2vCL+oEvyik=;\n\tb=ElRpo3925fKXYtQ4StZ/st7ET2\n\tBVmZ/xxlDXukhgpLEKldu3AE8mSWsza8+VAyZt17bAX8vkfKhuf9UIKZw5gfaL/gFcwQ4sYGmSbae\n\tLz04SU7GDkZMOJy1/uE4sf24Dx+X1piILA4zof+vk/Ihq8GR1kUL59ZEyJJPBozRjlaf22SlIOACF\n\tEwBdss5+Qh5zlWJPE2D8z5Ry/40CQjDNZZQHz8H6LQOGbFMCA9qZiDzmScnC151zJ3349R1zHCw18\n\tyPy6H6PAdhR+IvoUHMxyNzDGDhUWBWQV/JDl7Y1qiTX6oXTVQ309YAZ5z+D2z12/9mBXbMYACW09D\n\tzo5m54jA==;",
        "From": "Stephen Finucane <stephen@that.guru>",
        "To": "patchwork@lists.ozlabs.org",
        "Subject": "[PATCH v2 6/9] REST: Allow for mutability of request.POST",
        "Date": "Thu,  2 Nov 2017 10:28:41 +0000",
        "Message-Id": "<20171102102844.18931-7-stephen@that.guru>",
        "X-Mailer": "git-send-email 2.13.6",
        "In-Reply-To": "<20171102102844.18931-1-stephen@that.guru>",
        "References": "<20171102102844.18931-1-stephen@that.guru>",
        "X-AuthUser": "stephen@that.guru",
        "X-BeenThere": "patchwork@lists.ozlabs.org",
        "X-Mailman-Version": "2.1.24",
        "Precedence": "list",
        "List-Id": "Patchwork development <patchwork.lists.ozlabs.org>",
        "List-Unsubscribe": "<https://lists.ozlabs.org/options/patchwork>,\n\t<mailto:patchwork-request@lists.ozlabs.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.ozlabs.org/pipermail/patchwork/>",
        "List-Post": "<mailto:patchwork@lists.ozlabs.org>",
        "List-Help": "<mailto:patchwork-request@lists.ozlabs.org?subject=help>",
        "List-Subscribe": "<https://lists.ozlabs.org/listinfo/patchwork>,\n\t<mailto:patchwork-request@lists.ozlabs.org?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org",
        "Sender": "\"Patchwork\"\n\t<patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"
    },
    "content": "Using Django 1.11 yields the following error for the 'patchwork.tests\n.test_rest_api.TestCheckAPI.test_create' test:\n\n    AttributeError: This QueryDict instance is immutable\n\nThis occurs due to our modification of data to allow users to create\ninstances using a slugified state instead of the underlying integer\nvalue, e.g. 'success' instead of 1.\n\nResolve this by unsetting the immutability of that queryset. As\nsuggested in the linked SO answer, there is limited side effects to\ndoing this.\n\nSigned-off-by: Stephen Finucane <stephen@that.guru>\n---\n patchwork/api/check.py | 9 +++++++++\n 1 file changed, 9 insertions(+)",
    "diff": "diff --git a/patchwork/api/check.py b/patchwork/api/check.py\nindex 5b381505..b37d6e01 100644\n--- a/patchwork/api/check.py\n+++ b/patchwork/api/check.py\n@@ -49,7 +49,16 @@ class CheckSerializer(HyperlinkedModelSerializer):\n     def run_validation(self, data):\n         for val, label in Check.STATE_CHOICES:\n             if label == data['state']:\n+                # NOTE(stephenfin): 'data' is essentially 'request.POST', which\n+                # is immutable by default. However, there's no good reason for\n+                # this to be this way [1], so temporarily unset that mutability\n+                # to fix what we need to here.\n+                #\n+                # [1] http://stackoverflow.com/a/12619745/613428\n+                mutable = data._mutable  # noqa\n+                data._mutable = True  # noqa\n                 data['state'] = val\n+                data._mutable = mutable  # noqa\n                 break\n         return super(CheckSerializer, self).run_validation(data)\n \n",
    "prefixes": [
        "v2",
        "6/9"
    ]
}