Django - Deprecate Field
Installation
pip install django-deprecate-fields
Usage
Assume the simple following model:
from django.db import models
class MyModel(models.Model):
field1 = models.CharField()
field2 = models.CharField()
In order to remove field1
, it should first be marked as deprecated:
from django.db import models
from django_deprecate_fields import deprecate_field
class MyModel(models.Model):
field1 = deprecate_field(models.CharField())
field2 = models.CharField()
Secondly, makemigrations
should be called, which will change the field to be nullable. Any lingering references to it
in your code will return None
(or optionally any value or callable passed to deprecate_field
as the
return_instead
argument)
Lastly, after the changes above have been deployed, field1
can then safely be removed in the model (plus another
makemigrations
run)
Contributing
First of all, thank you very much for contributing to this project. Please base
your work on the master
branch and target master
in your pull request.
License
django-deprecate-fields
is released under the Apache 2.0 License.