pytoolbox.django.models.managers.mixins module¶
Mix-ins for building your own model managers.
- class pytoolbox.django.models.managers.mixins.AtomicGetRestoreOrCreateMixin[source]¶
Bases:
object
- savepoint = False¶
- class pytoolbox.django.models.managers.mixins.AtomicGetUpdateOrCreateMixin[source]¶
Bases:
object
- savepoint = False¶
- class pytoolbox.django.models.managers.mixins.StateMixin[source]¶
Bases:
object
Generate on the fly utility query-set filtering methods to a model using a
pytoolbox.states.StateEnum
to implement its own state machine. Then you can use something likeModel.objects.ready_or_canceled(inverse=True)
to exclude models in state READY or CANCELED.This mixin requires the following to work:
Add a states attribute to your model class set to the states class you defined earlier.
Add a state field to the model for saving instance state in database.