gpt4 book ai didi

python - makemigrations 没有检测到新模型

转载 作者:太空宇宙 更新时间:2023-11-04 06:59:50 25 4
gpt4 key购买 nike

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,这个模块是全新的代码,之前没有迁移历史。

知道为什么这些更改没有被采纳吗?

最佳答案

模型必须导入到 models 包的 __init__.py 文件中。来自docs :

The manage.py startapp command creates an application structure that includes a models.py file. If you have many models, organizing them in separate files may be useful.

To do so, create a models package. Remove models.py and create a myapp/models/ directory with an __init__.py file and the files to store your models. You must import the models in the __init__.py file. For example, if you had organic.py and synthetic.py in the models directory:

myapp/models/__init__.py

from .organic import Person
from .synthetic import Robot

关于python - makemigrations 没有检测到新模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44117796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com