Run the pip command to install the latest version:
pip install git+https://github.com/sitmena/[email protected]
Given that you have the model
class YourModel(models.Model):
mai_field = models.CharField()
other_field = models.BooleanField()
-Tracking Fields:
from sitech_models import TrackingFieldsMixin
class YourModel(TrackingFieldsMixin, models.Model):
mai_field = models.CharField()
other_field = models.BooleanField()
obj = YourModel.objects.get(1)
- Call
get_old_field('field_name')
to access the old value of a specific field. - Call
set_old_field('field_name', value)
to set the old value of a specific field. - Call
get_old_fields()
to access the old values. - Call
get_dirty_fields()
to returns the fields names that have been modified since they are loaded or saved most recently.
- Soft Delete:
from sitech_models import SoftDeleteMixin
class MyModel(SoftDeleteMixin, models.Model):
mai_field = models.CharField()
other_field = models.BooleanField()
obj = YourModel.objects.get(1)
Add SOFT_DELETE = True
to your Settings
obj.delete()
"soft delete"YourModel.objects.filters().delete()
"soft delete"YourModel.objects.filters().delete(force_delete=True)
"force delete"obj.delete(force_delete=True)
"force delete"
- Model: You can use sitech_models.Model to exteneds all the above mixins
from sitech_models import Model
class MyModel(Model):
mai_field = models.CharField()
other_field = models.BooleanField()