From: Stephen Finucane Date: Fri, 28 Oct 2016 17:29:49 +0000 (+0100) Subject: REST: Make use of the 'source' property X-Git-Tag: v2.0.0-rc1~124 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9edc08a648f67067da80a5a71f7a3a1c3064e5d4;p=thirdparty%2Fpatchwork.git REST: Make use of the 'source' property 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 Reviewed-by: Daniel Axtens Reviewed-by: Andy Doan --- diff --git a/patchwork/api/project.py b/patchwork/api/project.py index 2f636948..af2aea04 100644 --- a/patchwork/api/project.py +++ b/patchwork/api/project.py @@ -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):