我被卡住了,我一遍又一遍地阅读文档。我的模型没有迁移。我的提示符应该是No changes detected in app "catalogue",但我确实做了更改。我似乎不知道我做错了什么。有时它会起作用,但我不知道为什么。我记下它,然后重复一遍,它不起作用。任何建议或想法都是值得感谢的。谢谢!
subapp1是使用oscar的商店应用程序,subapp2是另一个应用程序
我先运行python manage.py makemigrations catalogue,然后运行python managepy migrate catalogue,我也尝试过在subapp1中迁移。结果是一样的。
app/settings.py
INSTALLED_APP = [...] + + get_core_apps(['subapp1.catalogue'])我还按照文档中的指示对迁移文件夹进行了分支。我也试过不使用它。(是的,我有我的__init.py__文件。
app/subapp1/catalogue/models.py
from django.db import models
from django.utils.translation import ugettext_lazy as _
from subapp2 import models as subapp2_models
from oscar.apps.catalogue.abstract_models import AbstractProductImage
from oscar.core.loading import get_model
product = get_model('catalogue','Product')
links = subapp2_models.links
class ProductImage(AbstractProductImage):
links= models.ForeignKey(links)
product = models.ForeignKey('catalogue.Product', related_name='photo_links', verbose_name=_("Product"))
class Meta:
app_label = 'catalogue'
verbose_name = _('link image')
def __str__(self):
return u"Image of '%s'" % self.product
from oscar.apps.catalogue.models import *发布于 2017-11-05 06:36:59
我以前也遇到过类似的事情。Django迁移可能有一个bug,这取决于您使用的版本。我相信我在1.8或1.9上遇到了问题。
我解决这个问题的方法是通过找到migrations目录并删除其中的文件来从有问题的应用程序中删除迁移。然后,我会运行make migrations,它会在那之后成功地获取更改。
再说一次,我不确定这个bug是不是Django本身的,还是仅仅是奥斯卡的
https://stackoverflow.com/questions/47112260
复制相似问题