]> git.ipfire.org Git - thirdparty/patchwork.git/commitdiff
REST: Make use of the 'source' property
authorStephen Finucane <stephen@that.guru>
Fri, 28 Oct 2016 17:29:49 +0000 (18:29 +0100)
committerStephen Finucane <stephen@that.guru>
Fri, 23 Dec 2016 23:37:55 +0000 (23:37 +0000)
This is apparently the correct way to rename fields, and will ensure a
future API version that supports writes will work correctly.

Signed-off-by: Stephen Finucane <stephen@that.guru>
Reviewed-by: Daniel Axtens <dja@axtens.net>
Reviewed-by: Andy Doan <andy.doan@linaro.org>
patchwork/api/project.py

index 2f636948522057bde0bc32177c52d10440717fcd..af2aea0417a0c6479d0982493e3a9c331f5e34fe 100644 (file)
@@ -17,6 +17,7 @@
 # along with Patchwork; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+from rest_framework.serializers import CharField
 from rest_framework.serializers import HyperlinkedModelSerializer
 
 from patchwork.api.base import PatchworkPermission
@@ -25,17 +26,14 @@ from patchwork.models import Project
 
 
 class ProjectSerializer(HyperlinkedModelSerializer):
-    def to_representation(self, instance):
-        data = super(ProjectSerializer, self).to_representation(instance)
-        data['link_name'] = data.pop('linkname')
-        data['list_email'] = data.pop('listemail')
-        data['list_id'] = data.pop('listid')
-        return data
+    link_name = CharField(max_length=255, source='linkname')
+    list_id = CharField(max_length=255, source='listid')
+    list_email = CharField(max_length=200, source='listemail')
 
     class Meta:
         model = Project
-        fields = ('url', 'name', 'linkname', 'listid', 'listemail', 'web_url',
-                  'scm_url', 'webscm_url')
+        fields = ('url', 'name', 'link_name', 'list_id', 'list_email',
+                  'web_url', 'scm_url', 'webscm_url')
 
 
 class ProjectViewSet(PatchworkViewSet):