Welcome to Django Models’s documentation!¶
Django Models is Library with several useful Models for Django to help you make your templates smart or with less code
Features¶
Generic Models¶
SerializerModel
Model to return a dict with all data of your django instance without a serializer.
Example:
Your Model
from django_models.models import SignalsModel
...
class YourModel(SignalsModel)
name = models.CharField(max_length=255)
...
Usage
In[1]: from . import YourModel
In[2]: instance = YourModel.objects.first()
In[3]: user.serialize()
Out[3]: {'id': 1, 'name': 'first record', ...}
SlugModel
Model with a slug field. Useful to use in urls or nominal references
TimestampedModel
Model with the DateTime, created_at and updated_at fields. Useful to control when any changes were made.
UUIDModel
Model that uses the id field as a UUID. Useful to be able to have a unique identifier without worrying about sequences.
History Model¶
History models
Model that track each save to generate a History Changes of a record
Signals Models¶
With SignalModel it allows you to handle or execute an event according to Django’s Signals.
- On Save:
pre_save (Before Saving)
post_save (After saving)
- On Erase:
pre_delete (Before Erasing)
post_delete (After Deleting)
Example using Pre-save signal
Note: This will be made before you save your model
from django_models.models import SignalsModel
...
class YourModel(SignalsModel)
...
def pre_save(self):
do_something()
Soft Delete Signal Model¶
It is the SignalsModel with soft delete implemented. Allows nothing you delete to be really deleted from the system and easy to recover