From 8d6b0b1f2d3a5014d43f1314d96bc9197709b542 Mon Sep 17 00:00:00 2001 From: Julio Iván Alegre Date: Tue, 9 Dec 2014 16:13:18 +0100 Subject: Update serializers.py Treat the input queryset as it comes (maybe it has been changed in a higher level). Evaluating .all() does nothing if or if not is a queryset.--- rest_framework/serializers.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'rest_framework') diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index b0c0efa7..5c73c5f2 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -517,9 +517,8 @@ class ListSerializer(BaseSerializer): """ List of object instances -> List of dicts of primitive datatypes. """ - iterable = data.all() if (hasattr(data, 'all')) else data return [ - self.child.to_representation(item) for item in iterable + self.child.to_representation(item) for item in data ] def validate(self, attrs): -- cgit v1.2.3 From 59470667db1b95eef63ff4308c1b41561438bb8e Mon Sep 17 00:00:00 2001 From: J. Iván Alegre Date: Tue, 9 Dec 2014 17:49:07 +0100 Subject: Take in care that input data in serializer can be a Manager --- rest_framework/serializers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'rest_framework') diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 5c73c5f2..9857995a 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -517,8 +517,9 @@ class ListSerializer(BaseSerializer): """ List of object instances -> List of dicts of primitive datatypes. """ + iterable = data.all() if (isinstance(data, models.Manager) and hasattr(data, 'all')) else data return [ - self.child.to_representation(item) for item in data + self.child.to_representation(item) for item in iterable ] def validate(self, attrs): -- cgit v1.2.3 From 9161e5a9276b185375e9ab7ec188112f6fe49cf0 Mon Sep 17 00:00:00 2001 From: J. Iván Alegre Date: Wed, 10 Dec 2014 09:19:27 +0100 Subject: Remove unnecessary hasattr all and add comment for nested relationships --- rest_framework/serializers.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'rest_framework') diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 9857995a..e1711259 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -517,7 +517,9 @@ class ListSerializer(BaseSerializer): """ List of object instances -> List of dicts of primitive datatypes. """ - iterable = data.all() if (isinstance(data, models.Manager) and hasattr(data, 'all')) else data + # Dealing with nested relationships, data can be a Manager, + # so, first get a queryset from the Manager if needed + iterable = data.all() if isinstance(data, models.Manager) else data return [ self.child.to_representation(item) for item in iterable ] -- cgit v1.2.3 From 428630c19702172beba94a3381d91340aa5e3bd6 Mon Sep 17 00:00:00 2001 From: J. Iván Alegre Date: Wed, 10 Dec 2014 10:13:15 +0100 Subject: Fix trailing space --- rest_framework/serializers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rest_framework') diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index e1711259..9226895e 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -517,7 +517,7 @@ class ListSerializer(BaseSerializer): """ List of object instances -> List of dicts of primitive datatypes. """ - # Dealing with nested relationships, data can be a Manager, + # Dealing with nested relationships, data can be a Manager, # so, first get a queryset from the Manager if needed iterable = data.all() if isinstance(data, models.Manager) else data return [ -- cgit v1.2.3