Hello,
With the release of DRF 3.17.0 (March 18, 2026), support for coreapi was removed (PR #9895). This change currently breaks drf-flex-fields.
When using FlexFieldsFilterBackend, upgrading to DRF ≥ 3.17.0 results in:
ImportError: cannot import name 'coreapi' from 'rest_framework.compat'
First of all, many thanks to Robert for creating and maintaining this very useful library over several years—it has been a great help for me and many others.
As there has been no activity for the past three years and this issue affects current DRF versions, I have created a maintained fork to restore compatibility and continue development:
The fork currently includes:
- Compatibility with DRF 3.17+ (removal of
coreapi dependency)
- Fix for a cyclic import when using
FlexFieldsFilterBackend in Django settings
Additionally, I have modernized the codebase (Python 3, updated tooling, docstrings), added a manual, additional tests, and set up CI workflows to support ongoing maintenance and quality checks.
If the original project becomes active again, I would of course be happy to collaborate or contribute these changes upstream. Until then I will continue maintaining the forked version.
Migration should be straightforward in most cases—primarily installing the new package and updating import paths. See migration guide for details.
If this is helpful, feel free to give it a try. Feedback, issues, and contributions are very welcome.
Kind regards,
Dennis
Hello,
With the release of DRF 3.17.0 (March 18, 2026), support for
coreapiwas removed (PR #9895). This change currently breaksdrf-flex-fields.When using
FlexFieldsFilterBackend, upgrading to DRF ≥ 3.17.0 results in:First of all, many thanks to Robert for creating and maintaining this very useful library over several years—it has been a great help for me and many others.
As there has been no activity for the past three years and this issue affects current DRF versions, I have created a maintained fork to restore compatibility and continue development:
The fork currently includes:
coreapidependency)FlexFieldsFilterBackendin Django settingsAdditionally, I have modernized the codebase (Python 3, updated tooling, docstrings), added a manual, additional tests, and set up CI workflows to support ongoing maintenance and quality checks.
If the original project becomes active again, I would of course be happy to collaborate or contribute these changes upstream. Until then I will continue maintaining the forked version.
Migration should be straightforward in most cases—primarily installing the new package and updating import paths. See migration guide for details.
If this is helpful, feel free to give it a try. Feedback, issues, and contributions are very welcome.
Kind regards,
Dennis