Previously an extra list wrapped nested validation errors raised from serializer's validate() methods.
That was inconsistent with the format of validation errors raised by validate_<fieldname> methods.
i.e. these two resulted in *different* behaviour:
def validate_foo(self):
raise ValidationError(['bar'])
def validate(self):
raise ValidationError({'foo': ['bar']})
Otherwise if you want to subclass RelatedField in a read+write capacity you end up with this weird situation:
```
class MyField(serializers.RelatedField):
def __init__(self, **kwargs):
if not kwargs.get('read_only'):
kwargs.setdefault('queryset', MyModel.objects.all())
super(MyField, self).__init__(**kwargs)
```
This commit removes the check preventing you from just supplying the queryset anyway. Why shouldn't you?
This allows users in Django 1.9+ to include the authentication urls
without specifying the namespace, as in:
urlpatterns = [
...
url(r'^auth/', include('rest_framework.urls'))
]
Quietly catching `AttributeError` and `TypeError` when calling
`get_queryset()` is rather insidious, as those exceptions get caught no
matter where they might happen in the call stack.
If a NestedBoundField field has a value of `None` and is inside another NestedBoundField field, it will have its value converted to an empty string while the form of its enclosing field is being rendered. So, NestedBoundField fields with an empty string value must be handled the same way as NestedBoundField fields with a `None` value.
Windows Pythons seem to like printing addresses in upper-case, while Linux
Pythons like lower-case hexes.
This led to an amusing (for a given value of "amusing", anyway) situation
where some repr tests would fail if the objects they were testing happened
to be allocated at an address with a hex digit in the range A..F.
This gets rid of a file encoding bug that occurs on Windows boxes where
the default implied encoding is cp1252, but the files themselves aren't.
The actual patch that seems to fix this is
1057d5e12e
but it seems like a good idea to upgrade to the latest and greatest.
Version 0.11b3's setup.py had an undeclared dependency on `py2exe` when
running on Windows (see
https://github.com/transifex/transifex-client/blob/0.11b3/setup.py#L23),
which made it impossible to install without having a working `py2exe` to
begin with.
This has been fixed in 0.11 proper.