Django Models
Para visualizar o README em português.
Django Models is a Library with several useful Models for Django to help you make your templates smart or with less code
Requirements
Python 3.10 or later
Django 5.0 to 6.x
Features
Generic Models
ActiveModel
Model with is_active boolean field
CodeModel
Model with a code field that automatically generates a hash of 16 characters by default. Useful to identify your record in a more humane way
SerializerModel
Model to return a dict with all data of your django instance without a serializer.
Example:
Your Model
from django_models.models import SerializerModel
...
class YourModel(SerializerModel)
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 models
HistoryModel Model that tracks each save to generate a Change History of a record
Signals Models
With SignalsModel 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 Delete:
pre_delete (Before Deleting)
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
SoftDeleteSignalModel Models
It is the SignalsModel with soft delete implemented. Ensures that nothing you delete is really deleted from the system and easy to recover
How to install
Getting It
You can get Django Models by using pip:
$ pip install django-models
If you want to install it from source, grab the git repository from GitHub and run setup.py:
$ git clone git@github.com:rhenter/django_models.git
$ cd django_models
$ python setup.py install
Settings
To enable django_models in your project you need to add it to INSTALLED_APPS in your projects settings.py file:
INSTALLED_APPS = (
...
'django_models',
...
)
Documentation
Check out the latest django-models documentation at GitHub Pages
Contributing
Please send pull requests, very much appreciated.
Fork the repository on GitHub.
Make a branch off of master and commit your changes to it.
Install requirements. pip install -r requirements-dev.txt
Install pre-commit. pre-commit install
Run the tests with cd test-django-project; py.test -vv -s
Create a Pull Request with your contribution
Metadata
Release files for django-models 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django_models-1.1.0.tar.gz | 19.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_models-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.7 kB
Release files / django_models-1.1.0.tar.gz
| Download URL | django_models-1.1.0.tar.gz |
|---|---|
| Size | 19.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c9fd58b4a54e4998a290724f769c933ee926500e1f748bd7c3aeedae99ca954
|
|
BLAKE2b-256 checksum How to use checksums |
c5bed070974b708dc0cd38be507102519c2e5917d486027651c8e4124542abb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / django_models-1.1.0-py3-none-any.whl
| Download URL | django_models-1.1.0-py3-none-any.whl |
|---|---|
| Size | 18.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b5ea068fe6f96e0bbfc2de97c4e368a5c94246c4974d2f43bdaad980add6e8f0
|
|
BLAKE2b-256 checksum How to use checksums |
03a0cfe602c2a19206b4e208cb4df1e89e32265f08f933147815e9130a22da7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|