我一直被困住了,我一遍又一遍地阅读文档。我的模型没有迁移。我的提示是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__
个文件。
应用程序/ subapp1 /目录/ 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 *
答案 0 :(得分:0)
我之前遇到过类似的事情。 Django迁移可能存在错误,具体取决于您使用的版本。我相信我遇到了1.8或1.9的问题。
我解决这个问题的方法是通过查找migrations
目录并删除其中的文件来删除相关应用中的迁移。然后,我会运行make migrations
并在此之后成功获取更改。
再一次,我不确定这个错误是Django本身的错误还是仅仅是奥斯卡的错误