diff options
| author | Tom Christie | 2012-11-20 01:50:39 -0800 |
|---|---|---|
| committer | Tom Christie | 2012-11-20 01:50:39 -0800 |
| commit | d22daa04e654f0d5410fa610bc5865b5b29b758f (patch) | |
| tree | 26d726be5b4e6cbe31b66605a6fdab254704a05a /rest_framework/serializers.py | |
| parent | a44a94dd6ea2d9497264e267a0354cb684d398f6 (diff) | |
| parent | 3cc5349b2f98d9c70788a2aadefc150290316479 (diff) | |
| download | django-rest-framework-d22daa04e654f0d5410fa610bc5865b5b29b758f.tar.bz2 | |
Merge pull request #435 from j4mie/fix-serializer-source
Fix related serializers with source argument that resolves to a callable
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 397866a7..2e7e2cf5 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -277,6 +277,9 @@ class BaseSerializer(Field): """ obj = getattr(obj, self.source or field_name) + if is_simple_callable(obj): + obj = obj() + # If the object has an "all" method, assume it's a relationship if is_simple_callable(getattr(obj, 'all', None)): return [self.to_native(item) for item in obj.all()] |
