Django Activation Model Mixin
This package allows to quickly add an activation/deactivation logic to django models and associated admins. This means being able to mark an entry as active or inactive, saving the interaction time. Querysets, Managers and Signals are included.
Documentation
The full documentation is at https://django-activation-model-mixin.readthedocs.io.
Quickstart
Install Django Activation Model Mixin:
pip install django-activation-model-mixin
Add it to your INSTALLED_APPS:
INSTALLED_APPS = (
...
'activation_model_mixin',
...
)
Features
- ActivationModelMixin
- ActivationModelMixinAdmin
- ActivationQuerySet
- Actions in admin changelist
- Signals associated to activation action
Example of usage
# in your admin.py
from activation_model_mixin.admin import ActivationModelMixinAdmin
class ExampleModelAdmin(ActivationModelMixinAdmin, admin.ModelAdmin):
...
admin.site.register(ExampleModel, ExampleModelAdmin)
# in your models.py
from activation_model_mixin.models import ActivationModelMixin
class ExampleModel(ActivationModelMixin, models.Model):
...
Admin Interface
Here some users interface example.
First one is how the change form is shown. There is a new button in the submit row that allows to activate/deactivate one entry.
This is how an accepted entry looks.
This is how a rejected entry looks.
Last image shows actions in the changelist.
Running Tests
Does the code actually work?
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
Development commands
pip install -r requirements_dev.txt invoke -l
Credits
Tools used in rendering this package: