Django版本-3.0
BaseModel-base_models/models.py
# Create your models here.
from django.db import models
class BaseModel(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateField(auto_now=True)
基本模型/\uuuuu初始值\uuuuuuuuuuuuy.py
from base_models.models import BaseModel
设置.py
INSTALLED_APPS = [
...,
'base_models.apps.BaseModelsConfig',
...
]
错误-
File "/Users/vaibhavsharma/vaibhav/workspace/rm-api/rm-api/base_models/__init__.py", line 1, in from base_models.models import BaseModel File "/Users/vaibhavsharma/vaibhav/workspace/rm-api/rm-api/base_models/models.py", line 6, in class BaseModel(models.Model): File "/Users/vaibhavsharma/vaibhav/workspace/rm-api/env/lib/python3.7/site-packages/django/db/models/base.py", line 107, in new app_config = apps.get_containing_app_config(module) File "/Users/vaibhavsharma/vaibhav/workspace/rm-api/env/lib/python3.7/site-packages/django/apps/registry.py", line 252, in get_containing_app_config self.check_apps_ready() File "/Users/vaibhavsharma/vaibhav/workspace/rm-api/env/lib/python3.7/site-packages/django/apps/registry.py", line 135, in check_apps_ready raise AppRegistryNotReady("Apps aren't loaded yet.") django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
我找到了答案,在Django3.0中你不能这么做。在这个版本中,每个应用程序都会初始化self.check_apps_ready()函数从apps/registry.py运行,该函数本身会从app/settings.py检查已安装的应用程序
下面是我如何使用基本模型的
from .base import BaseModel
from .models import BaseModel
from base import BaseModel
将BaseModel包含在应用程序中的任意位置李>完成了
引用-https://docs.djangoproject.com/en/3.0/topics/db/models/#organizing-models-in-a-package
相关问题 更多 >
编程相关推荐