From e01b0d9ec036d300c3091009d7bfe979380b63e1 Mon Sep 17 00:00:00 2001 From: Pavel Savchenko Date: Thu, 1 Nov 2012 08:59:19 +0200 Subject: [PATCH] Comments --- rest_framework/serializers.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 67e0cc114..8f2e315ee 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -127,7 +127,8 @@ class BaseSerializer(Field): if key not in ret: ret[key] = val try: - if getattr(val.source, 'primary_key'): + # Test if field was marked as pk_field + if getattr(val, 'is_pk_field'): pk_field = key except AttributeError: pass @@ -139,6 +140,7 @@ class BaseSerializer(Field): if key == 'pk': # User requested the 'pk', use the primary key found new[key] = ret[pk_field] + continue new[key] = ret[key] ret = new @@ -376,7 +378,10 @@ class ModelSerializer(Serializer): """ Returns a default instance of the pk field. """ - return Field() + field = Field() + # Mark field as primary key + field.is_pk_field = True + return field def get_nested_field(self, model_field): """