相关疑难解决方法(0)

Django迁移文件在另一个应用程序?

让我们想象一下以下简化的Django项目:

<root>/lib/python2.7/site-packages/externalapp/shop
<root>/myapp
Run Code Online (Sandbox Code Playgroud)

myappexternalapp.shop.models通过添加几个字段来扩展模型.manage.py makemigrations确实生成了名为0004_auto_20150410_2001.py的模式迁移文件:

from __future__ import unicode_literals
from django.db import models, migrations


class Migration(migrations.Migration):

    # __init__ is added by me as an attempt how to tell django's
    # migration loader operations are for the different application
    def __init__(self, name, app_label):
        super(Migration, self).__init__(name, 'shop')

    dependencies = [
        ('myapp', '__first__'),
        ('shop', '0003_auto_20150408_0958'),
    ]

    operations = [
        migrations.AddField(
            model_name='product',
            name='vat',
            field=models.ForeignKey(to='myapp.VAT', null=True),
        ),
    ]
Run Code Online (Sandbox Code Playgroud)

如果<root>/lib/python2.7/site-packages/externalapp/shop/migrations/默认情况下将上述迁移模式放在路径中,manage.py migrate则会正确添加成功和表字段.

但是,如果我确实将上述迁移文件移动到myapp/migrations/,则以下manage.py …

python django django-models django-admin

7
推荐指数
1
解决办法
5382
查看次数

标签 统计

django ×1

django-admin ×1

django-models ×1

python ×1