Python makemigrations未检测到新模型
Django 1.11。我最近在myapp.models中添加了以下模块:Python makemigrations未检测到新模型,python,django,django-models,Python,Django,Django Models,Django 1.11。我最近在myapp.models中添加了以下模块: from django.db import models from ordered_model.models import OrderedModel from .songs import Song class Service(models.Model): name = models.CharField(max_len=200, unique=True) date = models.DateField(
from django.db import models
from ordered_model.models import OrderedModel
from .songs import Song
class Service(models.Model):
name = models.CharField(max_len=200, unique=True)
date = models.DateField(blank=True)
items = models.ManyToManyField(ServiceItem)
class Meta:
ordering = ('-date', 'name')
class ServiceItem(OrderedModel):
item = models.ForeignKey(Song)
song_custom_order = models.CharField(max_len=50, blank=True)
order_with_respect_to = 'service'
class Meta(OrderedModel.Meta):
pass
我在另一个模块中有其他模型(在同一目录中)。当我运行/manage.py makemigrations
时,脚本会在其他模块中找到我的更改,但不会在这个模块中找到。FWIW,这个模块是全新的代码,没有以前的迁移历史
知道为什么这些更改没有被接受吗?试试,运行makemigrations指定应用程序名称
python manage.py makemigrations <your_app_name>
python manage.py makemigrations
或
/manage.py makemigrations
这应该能奏效
另外,确保您的应用程序名称包含在settings.py文件中的INSTALLED\u APPS设置中。尝试运行指定应用程序名称的makemigrations
python manage.py makemigrations <your_app_name>
python manage.py makemigrations
或
/manage.py makemigrations
这应该能奏效
另外,确保您的应用程序名称包含在settings.py文件中的INSTALLED\u APPS设置中。将模型目录创建为一个包(init.py应该在那里)并将模型文件存储在那里可能会起到作用。将模型目录创建为一个包(init.py应该在那里)将模型文件存储在那里可能会起到作用。必须将模型导入到
模型
包的文件中。从:
manage.pystartapp命令创建的应用程序结构
包括一个models.py文件。如果你有很多模型,把它们组织起来
单独的文件可能有用
为此,请创建一个模型包。删除models.py并创建一个
myapp/models/目录,其中包含\uuuu init\uuuu.py文件和要
储存你的模型。您必须在文件中导入模型。
例如,如果在模型中有有机.py和合成.py
目录:
myapp/models/\uuuuuu init\uuuuuuuu.py
from .organic import Person
from .synthetic import Robot
模型必须导入到模型
包的初始化
文件中。从:
manage.pystartapp命令创建的应用程序结构
包括一个models.py文件。如果你有很多模型,把它们组织起来
单独的文件可能有用
为此,请创建一个模型包。删除models.py并创建一个
myapp/models/目录,其中包含\uuuu init\uuuu.py文件和要
储存你的模型。您必须在文件中导入模型。
例如,如果在模型中有有机.py和合成.py
目录:
myapp/models/\uuuuuu init\uuuuuuuu.py
from .organic import Person
from .synthetic import Robot
我在添加新模型作为新应用程序的一部分时遇到了这个问题
解决方案是确保新应用程序名称包含在已安装的应用程序中
我在将新模型添加为新应用程序的一部分时遇到此问题
解决方案是确保新的应用程序名称包含在
已安装的应用程序中
检查是否有init.py文件,并检查文件名是否为models。必须将模型导入到models`包的init.py文件中。有关更多信息,请参阅。谢谢,@doru。如果你把这变成一个答案,我会接受的。它成功了。我从来没有想过必须在\uuuuu init\uuuuuuuuuuuuuupy
中导入我的模型。请检查是否有init.py文件,并检查文件名是否为models。这些模型必须导入到models`包的\uuuuuuuuuuuuuuuuuuuuuuuuuupy文件中。有关更多信息,请参阅。谢谢,@doru。如果你把这变成一个答案,我会接受的。它成功了。我从来没有想过要在\uuuu init\uuuuuuuy.py
中导入我的模型。谢谢,但这个答案解决了一个不同的问题,其中所有迁移都不起作用。我的问题在上面的评论中得到了解决。谢谢,但是这个答案解决了一个不同的问题,其中所有迁移都不起作用。我的问题在上面的评论中得到了解决。文档说如果你有很多模型,你可以这样做,但这不是强制性的…文档说如果你有很多模型,你可以这样做,但这不是强制性的。。。