如何从终端 window 动态更改/插入 django 有限状态机
How to change/ insert the djnago finite state machines on fly from terminal window
我有下面a.py djnago有限状态机程序:
from django.db import models
from django_fsm import transition,
FSMIntegerField
from django_fsm import FSMField, transition
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
import django
django.setup()
from django.core.management import call_command
class Order(models.Model):
STATUS_GO = 0
STATUS_COME =1
STATUS_CHOICES = (
(STATUS_GO, 'GO'),
(STATUS_COME,'come')
)
product = models.CharField(max_length=200)
status = FSMIntegerField(choices=STATUS_CHOICES, default=STATUS_GO, protected=True)
@transition(field=status, source=.
[STATUS_GO], target=STATUS_COME)
def walk(self):
print("Target moved")
我会 运行 以上程序为:
按 F5。
>>> State= order()
>>> State.walk # input
>>> Target moved # output
我想了解任何机会,djnago /python 提供机会从终端 window 插入像 (STATUS_HOLD, STATUS_JUMP) 这样的状态已经可用。
以便这些新状态在程序中得到定位。任何可能性。谢谢
之前:
@transition(field=status, source=[STATUS_GO], target=STATUS_COME)
现在:
in=input("source")
out =input("Target)
@transition(field=status, source=in, target=out)
与 Status_choice 类似,获取用户输入。
这帮助我即时输入
我有下面a.py djnago有限状态机程序:
from django.db import models
from django_fsm import transition,
FSMIntegerField
from django_fsm import FSMField, transition
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
import django
django.setup()
from django.core.management import call_command
class Order(models.Model):
STATUS_GO = 0
STATUS_COME =1
STATUS_CHOICES = (
(STATUS_GO, 'GO'),
(STATUS_COME,'come')
)
product = models.CharField(max_length=200)
status = FSMIntegerField(choices=STATUS_CHOICES, default=STATUS_GO, protected=True)
@transition(field=status, source=.
[STATUS_GO], target=STATUS_COME)
def walk(self):
print("Target moved")
我会 运行 以上程序为: 按 F5。
>>> State= order()
>>> State.walk # input
>>> Target moved # output
我想了解任何机会,djnago /python 提供机会从终端 window 插入像 (STATUS_HOLD, STATUS_JUMP) 这样的状态已经可用。
以便这些新状态在程序中得到定位。任何可能性。谢谢
之前:
@transition(field=status, source=[STATUS_GO], target=STATUS_COME)
现在:
in=input("source")
out =input("Target)
@transition(field=status, source=in, target=out)
与 Status_choice 类似,获取用户输入。
这帮助我即时输入