This commit is contained in:
Pavel Savchenko 2012-11-01 08:59:19 +02:00
parent bd24d83333
commit e01b0d9ec0

View File

@ -127,7 +127,8 @@ class BaseSerializer(Field):
if key not in ret: if key not in ret:
ret[key] = val ret[key] = val
try: try:
if getattr(val.source, 'primary_key'): # Test if field was marked as pk_field
if getattr(val, 'is_pk_field'):
pk_field = key pk_field = key
except AttributeError: except AttributeError:
pass pass
@ -139,6 +140,7 @@ class BaseSerializer(Field):
if key == 'pk': if key == 'pk':
# User requested the 'pk', use the primary key found # User requested the 'pk', use the primary key found
new[key] = ret[pk_field] new[key] = ret[pk_field]
continue
new[key] = ret[key] new[key] = ret[key]
ret = new ret = new
@ -376,7 +378,10 @@ class ModelSerializer(Serializer):
""" """
Returns a default instance of the pk field. 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): def get_nested_field(self, model_field):
""" """