djangorestframework-bulk
Django REST Framework bulk CRUD view mixins
What it is and what it does
djangorestframework-bulk extends Django REST Framework with mixin classes and generic views that enable bulk CRUD operations—creating, updating, and deleting multiple resources in a single HTTP request. Instead of making separate requests for each resource, you can send a list of objects in the request body to perform batch operations efficiently.
The package provides bulk-aware serializers, viewsets, and a router that automatically map bulk actions. It includes safety mechanisms for bulk delete operations (requiring explicit filtering to prevent accidental mass deletion) and handles the serializer differences between DRF 2 and DRF 3. However, the package has been unmaintained since 2015-04-26; its compatibility with modern versions is not guaranteed.
Use it for:
- Bulk-import data into a Django REST API by sending multiple objects in a single POST request
- Update multiple records at once with a PUT or PATCH request containing a list of modified objects
- Implement batch deletion endpoints with safety checks to prevent accidental mass deletion of resources
- Reduce API round-trips when synchronizing large datasets between client and server
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds bulk create, update, and delete operations to Django REST Framework's generic views and viewsets, enabling efficient batch processing of multiple resources in a single request.
No. The package is abandoned (last release 2015-04-26, last commit 2020-09-08) and targets obsolete Django and DRF versions. Modern Django REST Framework has evolved significantly, and compatibility is not guaranteed. Unless you are maintaining legacy code on very old Django/DRF versions, consider implementing bulk operations directly or seeking actively maintained alternatives.
Install
djangorestframework-bulk on PyPI
pip
pip install djangorestframework-bulkuv
uv add djangorestframework-bulkpoetry
poetry add djangorestframework-bulkInstalling djangorestframework-bulk
Before you install
High install friction: the package has been abandoned since 2015 (last release 0.2.1 on 2015-04-26) with no commits since 2020-09-08. It targets Django and DRF versions from that era; compatibility with modern versions is uncertain and unsupported.
License in practice
MIT license is permissive and poses no restrictions on use, modification, or distribution. However, the permissive nature does not mitigate the maintenance risk of an abandoned package.
Quickstart
pip install djangorestframework-bulk
from djangorestframework_bulk import (
BulkListSerializer,
BulkSerializerMixin,
ListBulkCreateUpdateDestroyAPIView,
)
class FooSerializer(BulkSerializerMixin, ModelSerializer):
class Meta:
model = FooModel
list_serializer_class = BulkListSerializer
class FooView(ListBulkCreateUpdateDestroyAPIView):
queryset = FooModel.objects.all()
serializer_class = FooSerializer
Requires Django >= 1.3 and Django REST Framework >= 3.0.0 (or DRF >= 2.2.5 with Django < 1.8). Modern Django and DRF versions may not be compatible; the package has not been updated since 2015-04-26.
Verify before relying
- Compatibility with Django and DRF versions released after 2015-04-26
- Whether bulk delete safety hooks and filtering logic work correctly with modern DRF serializer changes
- Active maintenance or community forks that address modern Django/DRF compatibility
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 4,128 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 94,784/month — #13,303 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: djangorestframework-bulk-0.2.1.tar.gz
Keywords: django
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
drf-rw-serializersExtends Django REST Framework with separate…
permissive · top 15,000 on PyPI
django-mock-queriesMocks Django QuerySet operations in memory for…
permissive · top 15,000 on PyPI
drf-dynamic-fieldsProvides a Django REST Framework mixin that…
permissive · top 15,000 on PyPI
adrfAdds async/await support to Django REST…
permissive · top 15,000 on PyPI
djangorestframework-role-filtersAdds role-based access control to Django REST…
permissive · top 5,000 on PyPI
rest-framework-generic-relationsProvides Django REST Framework serializers that…
permissive · top 15,000 on PyPI
drf-extensionsProvides mixins, decorators, and utilities that…
permissive · top 5,000 on PyPI
djangorestframeworkBuilds web APIs on top of Django with…
permissive · top 1,000 on PyPI
salesforce-bulkPython client library for the Salesforce Bulk…
permissive · top 5,000 on PyPI
django-datatables-viewProvides a Django view base class that handles…
permissive · top 15,000 on PyPI