Respect parent lookup regex value. Fixes #87.
Revert "Fixed PaginationKeyBit"
Respect parent lookup regex value. Fixes #87.
Revert "Fixed PaginationKeyBit"
Respect parent lookup regex value. Fixes #87.
Cleanup and fix router tests for django 1.8 & 1.9
- Following command doesn't show failures:
- tox -e django.1.9,django.1.8.lts --
- tests_app.tests.unit.routers tests_app.tests.functional.routers.
 
Reimplement nested routes moving lookups to viewsets
This change requires that parent viewset defines lookup_url_kwarg or lookup_field. In exchange we do not need to define anything about url kwargs at register phase.
Instead of defining in register argument how parent kwarg is used in filter, we do that now in viewset.
Also there is NestedHyperlinkedRelatedField and NestedHyperlinkedIdentityField which will use our data from viewsets to make writing serializers simpler and less error prone.
You can also use register with with-statement.
Cleanup and fix router tests for django 1.8 & 1.9
- Following command doesn't show failures:
- tox -e django.1.9,django.1.8.lts --
- tests_app.tests.unit.routers tests_app.tests.functional.routers.
 
Reimplement nested routes and move lookup config to viewsets
This change requires that parent viewset defines lookup_url_kwarg or lookup_field. In exchange we do not need to define anything about url kwargs at register time. Old way is still supported, though pending deprecation.
Also there is NestedHyperlinkedRelatedField and NestedHyperlinkedIdentityField which will use our config from viewsets to make writing serializers simpler and less error prone.
You can also use register using with-statement.
ResourceUriField is identical to HyperlinkedIdentityField.
Revert "Fixed PaginationKeyBit"
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Added page no pagination support
Added page no pagination support. The default PaginationKeyBit wasn't working for me.
Doc string updated for PageNoPaginationKeyBit.
Added docs for PageNoPaginationKeyBit.
Fixed a bug in PaginationKeyBit
PaginationKeyBit wasn't working. It gave the same result for different pages.
Removed docs for PagenoPaginationKeyBit
Removed docs for PagenoPaginationKeyBit which is no longer used.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Fix misprint in key constructor params example
GEOIP_CITY instead of GEOIP_COUNTRY in CityKeyConstructor.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Update routers.py.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Pass response when rebuild_after_method_evaluation
I use the updated_at timestamp off of the instance in order to generate my object etags – for that I need to be able to retrieve the instance, which I current do by simply calling view_instance.get_object() – however, this will use the lookup_field and kwarg passed to filter the queryset.
Which is fine. Unless that field changed in an the request, e.g. it was an update.
Being able to grab the instance, or at the very least the response.data in the event that the etag is being calculated after method evaluation would be super handy for this use case.
Pass response from calculate_etag to etag_func.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Fixing key constructor error when lookup_field!=lookup_url_kwarg.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Respect parent lookup regex value. Fixes #87.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Update documents regarding DEFAULT_CACHE_RESPONSE_TIMEOUT.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Added MappingField.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Verify client is ok with cached version.
Fix syntax error.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Add a temporary fix failing queryset filters in nested routes
If a route such as /users/NOT_AN_INTEGER/settings would be requested and the /users endpoint expects an integer as the second part of the url then this request would throw a internal server error.
This is a temp fix and a proper solution should be found. Discussion about this can be found on Github: chibisov/drf-extensions#86 chibisov/drf-extensions#63 chibisov/drf-extensions#50.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Renaming to work with DRF-3.
Tweaked refactoring.
Changed DRF imports.
Renaming to work with DRF-3.
Tweaked refactoring.
Changed DRF imports.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.
Started DictFilterBackend development.
DictFilterBackend initial with tests.
Moved changelog to right place.
Suppress ValidationError.
Readme about DictFilterBackend.
Simplified readme.
Implemented and tested queryset methods filtering with django_filter.
Stop queryset_method evaluation for requests without arguments or filtering.