Sco*_*nce 1 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(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
Run Code Online (Sandbox Code Playgroud)
我在另一个模块中有其他模型(在同一目录中).当我运行时./manage.py makemigrations,脚本会在我的其他模块中找到我的更改,但不会在此模块中找到.FWIW,此模块是所有新代码,没有以前的迁移历史记录.
任何想法为什么这些变化都没有被提升?
尝试,运行指定 app_name 的 makemigrations,
python manage.py makemigrations <your_app_name>
Run Code Online (Sandbox Code Playgroud)
或者
./manage.py makemigrations <your_app_name>
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题。
此外,请确保 your_app_name 包含在 settings.py 文件的 INSTALLED_APPS 设置中。
必须将模型导入包的__init__.py文件中models.来自文档:
的manage.py的startApp命令创建一个应用程序结构,其包括一个models.py文件.如果您有许多模型,则在单独的文件中组织它们可能很有用.
为此,请创建模型包.删除models.py并使用__init__.py文件和用于存储模型的文件创建 myapp/models /目录.您必须在__init__.py文件中导入模型.例如,如果你有organic.py和synthetic.py的车型 目录:
MYAPP /模型/ __ init__.py
from .organic import Person
from .synthetic import Robot
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1877 次 |
| 最近记录: |