如何运行 Django FSM 第一个项目

How to run Django FSM first project

我有下面的 django-program--- walk.py

    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")

以上代码位于 c:\Hello 文件夹中。

我参考了一些博客和 link 创建新的 django 项目。

so in cmd window,通过"cd c:\Hello"拖到上面的文件夹并执行:

 django-admin startproject mysite

并移动 walk.py 到我的网站文件夹

目录为:

       Hello/
             mysite/
             manage.py
             walk.py
                      mysite/
                      __init__.py
                      settings.py
                      urls.py
                      wsgi.py

随后执行:

    python manage.py migrate
    python manage.py runserver

Post 我现在一直被卡住并且混淆了我的项目需要以上两个步骤。

    python manage.py startapp polls

现在是 运行 的任务吗?如果是这样,在 polls/models.py 文件中编辑什么??

稍后我需要在INSTALLED_APPS = []中提及什么???

继续前进,我应该把我的项目 walk.py 放在上面目录的什么地方?

现在当我 运行 walk.py 时,我现在可以看到以下问题:

RuntimeError: Model class main.Order 没有显式声明 app_label 并且不在 INSTALLED_APPS 中的应用程序中.

请帮忙

INSTALLED_APPS 中,您必须像这样添加新应用:

INSTALLED_APPS = [
    // ...
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'polls'
]

现在 Django 将知道您的应用程序。

实际错误: RuntimeError: 模型 class main.Tag 未声明显式 app_label 并且不在 INSTALLED_APPS.[=12= 中的应用程序中]

我的解决方案:

运行

   django-admin startproject mysite

在项目文件夹中

    Hello/
         mysite/
         manage.py
         walk.py
                  mysite/
                  __init__.py
                  settings.py
                  urls.py
                  wsgi.py

后来在 INSTALLED_APPS 中添加了“main”并且现在工作正常