mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-05-30 19:23:06 +03:00
Fix bitbucket issue 39. All further issues should be on github
This commit is contained in:
parent
2ebcc9d3dd
commit
8d51759dd1
1
AUTHORS
1
AUTHORS
|
@ -9,6 +9,7 @@ Carles Barrobés <txels> - HEAD support.
|
||||||
Michael Fötsch <mfoetsch> - File format support.
|
Michael Fötsch <mfoetsch> - File format support.
|
||||||
David Larlet <david> - OAuth support.
|
David Larlet <david> - OAuth support.
|
||||||
Andrew Straw <astraw> - Bugfixes.
|
Andrew Straw <astraw> - Bugfixes.
|
||||||
|
<zeth> - Bugfixes.
|
||||||
|
|
||||||
THANKS TO:
|
THANKS TO:
|
||||||
|
|
||||||
|
|
2
README
2
README
|
@ -6,7 +6,7 @@ To install django-rest-framework in a virtualenv environment
|
||||||
hg clone https://tomchristie@bitbucket.org/tomchristie/django-rest-framework
|
hg clone https://tomchristie@bitbucket.org/tomchristie/django-rest-framework
|
||||||
cd django-rest-framework/
|
cd django-rest-framework/
|
||||||
virtualenv --no-site-packages --distribute --python=python2.6 env
|
virtualenv --no-site-packages --distribute --python=python2.6 env
|
||||||
source ./env/bin/activate
|
source env/bin/activate
|
||||||
pip install -r requirements.txt # django, coverage
|
pip install -r requirements.txt # django, coverage
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ Customizable serialization.
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models.query import QuerySet
|
from django.db.models.query import QuerySet
|
||||||
from django.db.models.fields.related import RelatedField
|
from django.db.models.fields.related import RelatedField
|
||||||
from django.utils.encoding import smart_unicode, is_protected_type
|
from django.utils.encoding import smart_unicode, is_protected_type, smart_str
|
||||||
|
|
||||||
import decimal
|
import decimal
|
||||||
import inspect
|
import inspect
|
||||||
|
@ -177,7 +177,7 @@ class Serializer(object):
|
||||||
Keys serialize to their string value,
|
Keys serialize to their string value,
|
||||||
unless they exist in the `rename` dict.
|
unless they exist in the `rename` dict.
|
||||||
"""
|
"""
|
||||||
return getattr(self.rename, key, key)
|
return getattr(self.rename, smart_str(key), smart_str(key))
|
||||||
|
|
||||||
|
|
||||||
def serialize_val(self, key, obj):
|
def serialize_val(self, key, obj):
|
||||||
|
@ -228,12 +228,12 @@ class Serializer(object):
|
||||||
|
|
||||||
# serialize each required field
|
# serialize each required field
|
||||||
for fname in fields:
|
for fname in fields:
|
||||||
if hasattr(self, fname):
|
if hasattr(self, smart_str(fname)):
|
||||||
# check for a method 'fname' on self first
|
# check for a method 'fname' on self first
|
||||||
meth = getattr(self, fname)
|
meth = getattr(self, fname)
|
||||||
if inspect.ismethod(meth) and len(inspect.getargspec(meth)[0]) == 2:
|
if inspect.ismethod(meth) and len(inspect.getargspec(meth)[0]) == 2:
|
||||||
obj = meth(instance)
|
obj = meth(instance)
|
||||||
elif hasattr(instance, fname):
|
elif hasattr(instance, smart_str(fname)):
|
||||||
# now check for an attribute 'fname' on the instance
|
# now check for an attribute 'fname' on the instance
|
||||||
obj = getattr(instance, fname)
|
obj = getattr(instance, fname)
|
||||||
elif fname in instance:
|
elif fname in instance:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user