Skip to main content

A django app enabling Django models to use xworkflows.

Project description

Use XWorkflows along with Django models.

Django-XWorkflows allow to bind a Django model to a workflow, with a few extra features:

  • Auto-save after transitions

  • Log each action into the database

Define a workflow and add it to a model:

from django_xworkflows import models as xwf_models

class MyWorkflow(xwf_models.Workflow):
    states = (
        ('new', _(u"New")),
        ('old', _(u"Old")),
    )
    transitions = (
        ('get_old', 'new', 'old'),
    )
    initial_state = 'new'

class MyModel(xwf_models.WorkflowEnabled):

    state = xwf_models.StateField(MyWorkflow)

Use the workflow:

>>> obj = MyModel()
>>> obj.state  # Defaults to the initial_state
State('new')
>>> # Perform a transition
>>> obj.get_old()
>>> obj.state
State('old')
>>> # Object was saved to the database
>>> obj.pk
1
>>> # Logs were saved to the database
>>> xwf_models.TransitionLog.objects.all()
[TransitionLog(MyModel: new -> old at 2012-04-14T12:10:00+0200)]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-xworkflows-0.7.0.tar.gz (22.6 kB view details)

Uploaded Source

File details

Details for the file django-xworkflows-0.7.0.tar.gz.

File metadata

File hashes

Hashes for django-xworkflows-0.7.0.tar.gz
Algorithm Hash digest
SHA256 1985cdf12860c53797c211846090d06727aa687b8c3207e1f2ea195f66a85f0c
MD5 a28d64e6e6dbc94391f64079b506a7e0
BLAKE2b-256 7d9c6b73a546e60f2e6872252edf708fc6fd740a84c366a6e44110baf24baa2a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page