django oscar迁移不迁移,其他应用迁移

时间:2017-11-04 15:21:58

标签: python django django-oscar

我一直被困住了,我一遍又一遍地阅读文档。我的模型没有迁移。我的提示是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 *

1 个答案:

答案 0 :(得分:0)

我之前遇到过类似的事情。 Django迁移可能存在错误,具体取决于您使用的版本。我相信我遇到了1.8或1.9的问题。

我解决这个问题的方法是通过查找migrations目录并删除其中的文件来删除相关应用中的迁移。然后,我会运行make migrations并在此之后成功获取更改。

再一次,我不确定这个错误是Django本身的错误还是仅仅是奥斯卡的错误