--- id: django-picklefield version: "3.4.0" license: MIT license_treatment: permissive maintenance: aging --- # django-picklefield — Pickled object field for Django License: permissive · Maintenance: aging · Downloads: 1.3M/mo ## What it is and what it does django-picklefield extends Django models with a field type that transparently serializes and stores arbitrary Python objects in the database. Instead of manually pickling and unpickling data or designing a schema for each object type, you define a PickledObjectField and assign any picklable Python object to it—lists, dicts, custom classes, or nested structures—and the field handles encoding, storage, and retrieval automatically. The package base64-encodes pickled data to ensure ASCII-safe storage across database backends and supports optional zlib compression, configurable pickle protocols, and database lookups (exact, in, isnull). It is designed for cases where a proper relational schema does not exist, such as storing configuration objects, cached computations, or heterogeneous data. The critical caveat is that pickle is inherently unsafe for untrusted input; the field is marked non-editable by default and should never receive unsanitized user data. Use it for: - Store configuration or settings objects in a Django model without designing a separate schema for each setting type. - Cache computed Python objects (e.g., analysis results, transformed data) directly in the database for later retrieval. - Persist application state or workflow context that does not fit a normalized relational structure. - Store lookup tables or reference data as Python dicts or lists without creating additional database tables. - Handle heterogeneous data in a single field when the object structure varies per record. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Provides a Django model field that stores and retrieves any picklable Python object directly in the database, handling serialization and deserialization automatically. Yes, if you need to store non-relational Python objects in Django and trust the source of all data assigned to the field. The package is stable, actively maintained, and supports current Django and Python versions. Install only if you understand the pickle security implications and will never assign unsanitized user input to PickledObjectField. ## Install pip install django-picklefield uv add django-picklefield poetry add django-picklefield ## Installing django-picklefield Before you install: Low install friction with a single Django dependency. Last release was 260 days ago; the repository is active and not archived, though maintenance status is aging. Supports current Python versions (3.10+) and recent Django versions through 6.0. License in practice: MIT license is permissive and places no restrictions on use or redistribution. You may use this package in commercial or proprietary projects without obligation to share modifications. Quickstart: pip install django-picklefield from picklefield.fields import PickledObjectField from django.db import models class MyModel(models.Model): data = PickledObjectField() obj = MyModel() obj.data = ['any', {'picklable': 'object'}] obj.save() Do not store untrusted user input directly in PickledObjectField; pickle.loads() can execute arbitrary code. The field is marked editable=False by default to prevent form exposure, but programmatic assignment of unsanitized data remains a security risk. Verify before relying: - Whether the package's compression feature (compress=True) is actively used or maintained in production deployments. - Performance characteristics when storing very large object trees, especially with the copy parameter set to False. - Compatibility with database-specific pickle handling or edge cases beyond the tested Django/Python versions. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 1.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags django pickle field, store python objects in django models, django serialized field, pickle database field, django model field any type, django object persistence, base64 encoded pickle storage, django-orm, serialization, database-field [View on SkillFed](https://skillfed.io/packages/django-picklefield) · [View on PyPI](https://pypi.org/project/django-picklefield/)