我正在尝试使用django 1.8修改包含School
等子应用的现有students, class, scores etc
应用。
我的班级模特:
class Class(Object):
student = models.ForeignKey(School, related_name='school_student')
section = models.CharField()
roll = models.IntegerField()
当我运行python manage.py makemigrations class
时,我收到一条消息No changes detected in app 'class'
。
但是当我运行python manage.py makemigrations
时,会检测到更改,并且会在school directory
下创建迁移文件,但不会在class directory
下创建。
但是,如果我添加meta
类,请到上述模型。
class Meta:
unique_together = ('student', 'roll')
现在,如果我运行python manage.py makemigrations class
,则会检测到更改,并在class directory
下创建迁移文件。
有人可以告诉我为什么会出现这种行为吗?
答案 0 :(得分:0)
首先:模型不是子应用。
如果很清楚:IIRC,Django 1.8需要class Meta
来知道模型属于哪个应用。
如果只有其他模型,则需要class Meta
来指定app_label。
如果您有一个真正的子应用程序(即应用程序中的一个应用程序),则还需要将其添加到设置中。INSTALLED_APPS才能使其迁移正常进行。