【发布时间】:2017-10-22 09:39:27
【问题描述】:
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(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,这个模块是全新的代码,没有以前的迁移历史。
任何想法为什么这些更改没有被采纳?
【问题讨论】:
-
检查是否有init.py文件并检查文件名是否为models
-
模型必须在
__init__.py file ofmodels`包中导入。请参阅this answer 了解更多信息。 -
谢谢,@doru。如果你把它变成一个答案,我会接受它。它成功了。我从没想过必须在
__init__.py中导入我的模型。
标签: python django django-models