一个django应用程序,使django模型能够使用xworkflows。
django-xworkflows的Python项目详细描述
与django模型一起使用XWorkflows。
django xworkflows允许将django模型绑定到工作流,并提供一些额外功能:
- 转换后自动保存
- 将每个操作记录到数据库中
定义工作流并将其添加到模型:
fromdjangoimportmodelsfromdjango_xworkflowsimportmodelsasxwf_modelsclassMyWorkflow(xwf_models.Workflow):states=(('new',_(u"New")),('old',_(u"Old")),)transitions=(('get_old','new','old'),)initial_state='new'classMyModel(xwf_models.WorkflowEnabled,models.Model):state=xwf_models.StateField(MyWorkflow)
使用工作流:
>>>obj=MyModel()>>>obj.state# Defaults to the initial_stateState('new')>>># Perform a transition>>>obj.get_old()>>>obj.stateState('old')>>># Object was saved to the database>>>obj.pk1>>># Logs were saved to the database>>>xwf_models.TransitionLog.objects.all()[TransitionLog(MyModel:new->oldat2012-04-14T12:10:00+0200)]