{"categories":[{"label":"Database","url":"https://skillfed.io/packages/category/database/2"}],"enrichment":{"capability":"Provides a decorator to mark Django model fields as deprecated, automatically making them nullable and returning None on access, enabling safe field removal across deployments.","skillfed_tags":["django-migrations","field-deprecation","backward-compatibility"],"use_cases":["Mark a database column as deprecated in one release, allowing code to stop using it before physical removal in a later release.","Provide a default return value (via `return_instead` argument) when deprecated fields are accessed, easing the transition for legacy code.","Coordinate field removal across multiple services by using the three-step deprecation workflow without requiring simultaneous deployments.","Audit which parts of your codebase still reference deprecated fields by catching None returns or custom fallback values.","Support custom migration tools (e.g., pgmakemigrations) by configuring DEPRECATE_FIELD_CUSTOM_MIGRATION_COMMAND in settings."],"what_it_does":"Django-deprecate-fields provides a decorator-based approach to safely remove model fields from a Django application without breaking existing code during the transition period. When you wrap a field with `deprecate_field()`, the package automatically converts it to nullable during the next migration, and any code accessing the field will receive None instead of raising an error. This allows you to deploy the deprecation marker, run migrations, then safely remove the field definition in a subsequent deployment\u2014a three-step process that maintains backward compatibility across your application.\n\nThe package is designed for teams managing long-lived Django projects where fields need to be retired gradually. It handles the common Django commands (makemigrations, migrate, showmigrations) automatically, and supports custom migration commands via a settings parameter. With a single runtime dependency on Django and no known vulnerabilities, it integrates cleanly into existing projects.","worth_installing":"Yes. This package solves a real operational problem\u2014removing Django model fields safely across multiple deployments\u2014with low install friction, active maintenance, and no security issues. It is most valuable for teams managing production Django applications where coordinated deployments are difficult or where you need to support older code during a transition period. If you rarely remove fields or always deploy atomically, the benefit is lower."},"id":"django-deprecate-fields","links":{"html":"https://skillfed.io/packages/django-deprecate-fields","md":"https://skillfed.io/packages/django-deprecate-fields.md","pypi":"https://pypi.org/project/django-deprecate-fields/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-01-20","license_spdx":null,"license_treatment":"permissive","name":"django-deprecate-fields","python_support":"unspecified","summary":"This package allows deprecating model fields and allows removing them in a backwards compatible manner."},"popularity":{"monthly_downloads":2839332,"position":2866,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.2.3"}
