- Added `nap.http.except_response` decorator to handle exceptional responses in view functions. - Finished updating `nap.extras.actions.ExportCsv` to work with DataMappers.
0.20.1
=====================================
Bug Fixes:
- Remove `default_app_config` [Thanks nkuttler]
0.20.0
====================
.. admonition:: WARNING: Major Refactor
All code related to Publishers and Serialisers have been removed.
Many
Enhancements:
- Add a common base class `HttpResponseError` for Status 4xx and 5xx responses. - JsonMixin imports settings late to avoid problems
Deprecation:
- Removed backward compatibility shim for JsonResponse, now that we require Django 1.7 - Removed Publishers - Removed Serialisers - Removed auth - use Django's built in mixins. - Removed SerialisedResponseMixin
0.14.9
====================
Enhancements:
- Dropped support for testing in older Django - Add ModelFilter to ForeignKeys in ModelDataMapper - Allow passing kwargs to `JsonMixin.loads` and `JsonMixin.dumps` - Added ability to change the response class used in auth decorators. - Added `>>=` to `ModelDataMapper` to allow applying to new model instance.
Bug Fixes:
- Add any fields not in a supplied `Meta.fields` for a `ModelDataMapper` to the excludes list to ensure model validation also excludes them. - Fixed `utils.JsonClient` to actually work. - Propery handle encoding in `JsonMixin.get_request_data` for PUT and PATCH.
0.14.8
====================
Enhancements:
- Added `Ripper` class to utils. - Use `six.moves.urllib` instead of our own try/except on import - Micro-optimisation: Calculate fields and field names for DataMappers at declatation - Added `NapView` to `nap.rest.views` to handle when custom `http` responses are raised. - Change default DELETE response to be empty - Added `nap.rest.views.NapView` to catch and return `nap.http.BaseHttpResponse` exceptions as responses.
Bug Fixes:
- Set safe=False in MapperMixin.empty_response
0.14.7.1
======================
Enhancements:
- Simplified `auth.permit_groups`
Bug Fixes:
- On a DataMapper, if a Field's default is callable, call it. - Make _CastFiler and Date/Time filters skip to_python if value is of right type already.