0

我有以下 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 文件夹中可用。

我已经参考了一些博客和链接来创建新的 django 项目。

所以在cmd窗口中,通过“cd c:\Hello”拖到上面的文件夹并执行:

 django-admin startproject mysite

并将 walk.py 移至 mysite 文件夹

目录为:

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

后来执行:

    python manage.py migrate
    python manage.py runserver

我现在被卡住并且混淆了以上两个步骤的帖子是我的项目所必需的。

    python manage.py startapp polls

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

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

继续前进,我应该将我的项目 walk.py 放在上面的目录中吗?

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

RuntimeError:模型类main .Order 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中。

请帮忙

4

2 回答 2

1

INSTALLED_APPS必须像这样添加新应用程序:

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

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

于 2020-08-31T15:49:21.663 回答
0

实际错误: RuntimeError: Model class main .Tag 未声明显式 app_label 且不在 INSTALLED_APPS 中的应用程序中。

我的解决方案:

   django-admin startproject mysite

在项目文件夹中

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

后来在 INSTALLED_APPS 中添加了“ main ”,现在可以正常工作了

于 2020-09-01T12:15:34.773 回答