如何从终端窗口动态更改/插入 djnago 有限状态机

我有下面的 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 是否还提供从终端窗口插入诸如( STATUS_HOLD、STATUS_JUMP)之类的状态的机会。


以便这些新状态在计划中得到定位。任何可能性。谢谢。


鸿蒙传说
浏览 139回答 1
1回答

繁星点点滴滴

前:  @transition(field=status, source=[STATUS_GO],  target=STATUS_COME)现在: in=input("source") out =input("Target) @transition(field=status, source=in,  target=out)与 Status_choice 类似,获取用户的输入。这帮助我即时输入
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python