[PATCH v2 04/13] REST: Make use of the 'source' property
Daniel Axtens
dja at axtens.net
Mon Nov 21 11:59:19 AEDT 2016
LGTM!
The repetition is a bit annoying, but I agree that the old code was
worse.
I assume that the 255 char limit is what the model?
Reviewed-by: Daniel Axtens <dja at axtens.net>
Regards,
Daniel
Stephen Finucane <stephen at that.guru> writes:
> 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 at that.guru>
> Cc: Andy Doan <andy.doan at linaro.org>
> ---
> patchwork/api/project.py | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/patchwork/api/project.py b/patchwork/api/project.py
> index 17f4b3c..9e5d2aa 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 import PatchworkPermission
> @@ -25,17 +26,15 @@ 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
> + # TODO(stephenfin): These should be renamed at the model layer
> + link_name = CharField(max_length=255, source='linkname')
> + list_id = CharField(max_length=255, source='listid')
> + list_email = CharField(max_length=255, 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):
> --
> 2.7.4
>
> _______________________________________________
> Patchwork mailing list
> Patchwork at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/patchwork
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 859 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/patchwork/attachments/20161121/8a8530dd/attachment.sig>
More information about the Patchwork
mailing list