一个用于与Django模型一起使用转换的包。
项目描述
django-model-fsm
一个用于与Django模型一起使用转换的包。
使用方法
from django.db import models
from django_model_fsm.dataclasses import StateData, TriggerData, WorkflowData
from django_model_fsm.models import TransitionsMixin
# States
# fmt: off
S_CREATED = StateData(
id="created",
label="Created",
)
S_PUBLISHED = StateData(
id="published",
label="Published",
)
S_ARCHIVED = StateData(
id="archived",
label="Archived",
)
# fmt: on
# Triggers
# fmt: off
T_PUBLISHED_CHALLENGE_MODEL = TriggerData(
id="published_challenge_model",
label="Publish",
order=150,
need_confirmation=False,
)
T_UNPUBLISHED_CHALLENGE_MODEL = TriggerData(
id="unpublished_challenge_model",
label="Unpublish",
order=175,
need_confirmation=True,
)
T_ARCHIVE_CHALLENGE_MODEL = TriggerData(
id="archive_challenge_model",
label="Archive",
order=350,
need_confirmation=True,
)
# fmt: on
challenge_model_workflow = WorkflowData(
initial_state=S_CREATED,
transitions_data=[
# fmt: off
{"trigger": T_PUBLISHED_CHALLENGE_MODEL, "source": S_CREATED, "dest": S_PUBLISHED},
{"trigger": T_UNPUBLISHED_CHALLENGE_MODEL, "source": S_PUBLISHED, "dest": S_CREATED},
{"trigger": T_ARCHIVE_CHALLENGE_MODEL, "source": S_PUBLISHED, "dest": S_ARCHIVED},
# fmt: on
],
)
class MyModel(models.Model, TransitionsMixin):
workflow_data = challenge_model_workflow
workflow_callbacks = []
项目详情
关闭
django_model_fsm-0.1.8.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7e3aca9ab64e1edafa67eb99c42a73f728ad16f3daf1e7ecdd4d9b6d3647e2f3 |
|
MD5 | 3bcac683724bac974bc302b8021b8bd5 |
|
BLAKE2b-256 | d71c3c9b3f584502ffcd4e243513bb1d967c487636e67b13e887bd81e883dcbe |