python - 尝试执行迁移时模型未处理的挂起操作

标签 python django django-models database-migration django-1.9

当我对我的一个项目应用程序执行迁移时,出现以下错误:

ValueError:模型未处理的挂起操作: common.shipmentaddress(由字段引用:catalog.Fulfillment.address)

Django 1.9, python 2.7.10

我一直在寻找循环导入,但我不认为这是它

这些是模型:

class ShipmentAddress(models.Model):
    recipient_first_name = models.CharField(max_length=50, null=True, blank=True)
    recipient_last_name = models.CharField(max_length=50, null=True, blank=True)
    street_name = models.CharField(max_length=50)
    state = models.ForeignKey(State)
    postal_code = models.IntegerField(default=0)
    city = models.CharField(max_length=50)

    class Meta:
        db_table = 'shipment_address'


class Fulfillment(models.Model):
    address = models.ForeignKey(ShipmentAddress)
    inventory_items = models.ManyToManyField(Item_With_Size, through='Inventory_Item')

    class Meta:
        verbose_name = 'fulfilment'
        verbose_name_plural = 'fulfilments'
        db_table = 'fulfilment'

迁移看起来像这样:

class Migration(migrations.Migration):

    dependencies = [
        ('catalog', '0009_auto_20151130_1118'),
     ]

    operations = [
        migrations.AlterField(
            model_name='fulfillment',
            name='address',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='common.ShipmentAddress'),
        ),
    ]

class Migration(migrations.Migration):

    dependencies = [
        ('common', '0005_shipmentaddress'),
    ]

    operations = [
        migrations.RenameField(
            model_name='shipmentaddress',
            old_name='recipient_name',
            new_name='recipient_first_name',
        ),
        migrations.AddField(
            model_name='shipmentaddress',
            name='recipient_last_name',
            field=models.CharField(blank=True, max_length=50, null=True),
        ),
    ]

最佳答案

好的,我明白了!

似乎迁移过程遍历了我之前的所有迁移,而不仅仅是最后一个......在之前的一个迁移中,有一个错误的外键指针导致了这个问题

我修复了旧的迁移,仅此而已!

关于python - 尝试执行迁移时模型未处理的挂起操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34267231/

相关文章:

python - 如何在 Django 管理界面中仅显示组成员?

python - 在python中将罗马数字转换为整数

django - 在 Django 模型中的 bool 字段上添加索引是一个好习惯吗

django - 动态更改 Django ModelForm 中的字段选择

python - Django 和 Active Python 2.x 是否适用于带有 IIS 7.5 的 Windows 2008 R2 上的生产环境?

python - ImageField 的 url 方法返回非 Url 值 - Django

django - If Else 在 Django View 中

python - 使用 python pandas 删除重复项并添加一些列

python - Flask Restful 搜索查询

python - 将列表中的项目拆分为两个并将其中一个附加到另一个列表