Django没有检测到应用程序模型的变化



我创建了一个名为base的应用程序,并为其添加了一个新模型。然而,每当我运行python3 manage.py makemigrations base时,它都会显示no changes detected

我已经添加了我的已安装应用

INSTALLED_APPS = [
...
'base.apps.BaseConfig',
...
]

它在包含__init__.py文件的应用程序中确实有迁移文件夹。我想知道是什么导致了这个问题。

这是我的型号:

from django.db import models
# Create your models here.
class BaseModel(models.Model):
created_at = models.DateTimeField(auto_now=True)
modified_at = models.DateTimeField(auto_now_add=True)
class Meta:
abstract = True

我的设置包含4个文件:

settings:
--__init__.py
-- dev.py
-- prod.py
-- staging.py
-- common.py

我的__init__.py:

import os
from .common import *
from decouple import config
environment = config('DEV_ENV', cast=str)
if environment == "dev":
from .dev import *
elif environment == "staging":
from .staging import *
elif environment == "prod":
from .prod import *

我也已经试过运行

python3 manage.py makemigration base --settings=project.settings.dev,它仍然说no changes detected

抽象基类文档,

当您想将一些公共信息放入许多其他模型中时,抽象基类非常有用。您编写基类,并在Meta类中放入abstract=True此模型将不会用于创建任何数据库表。相反,当它被用作其他模型的基类时,它的字段将被添加到子类的字段中。

也就是说,如果删除abstract = True或设置abstract = False,Django将为您生成迁移文件!!!

相关内容

最新更新