Django恢复在迁移后无法恢复对象

Django恢复在迁移后无法恢复对象,django,django-reversion,Django,Django Reversion,我有这个模型: from django.contrib.auth.models import User from django.db import models import reversion @reversion.register() class BlogPost(models.Model): author = models.ForeignKey(User) title = models.CharField(max_length=32) content = mod

我有这个模型:

from django.contrib.auth.models import User
from django.db import models
import reversion


@reversion.register()
class BlogPost(models.Model):
    author = models.ForeignKey(User)
    title = models.CharField(max_length=32)
    content = models.TextField()
现在我决定将此字段添加到模型中:

random_field = models.PositiveIntegerField(null=False, blank=False)
我创建了迁移并选择默认值:

operations = [
    migrations.AddField(
        model_name='blogpost',
        name='random_field',
        field=models.PositiveIntegerField(default=10),
        preserve_default=False,
    ),
]
并将其迁移

现在,我使用的是Django admin,支持恢复,在迁移之前我修改了几次博客文章,现在我想迁移到没有随机场的版本。它说:

Could not save BlogPost object version - missing dependency.
有没有办法防止这种情况?我认为这是因为迁移没有创建修订。 似乎错误就在这里的某个地方:

我正在使用

Django==1.11.1
django-reversion==2.0.8
使用sqlite数据库

有没有办法防止这种情况发生?

请参见:

啊,我明白了。烦人的看来修订版可以处理删除操作 字段,但不添加字段

自动化这几乎是不可能的。有修订 数据库中有千兆字节的旧版本,并更新旧版本 发生新迁移时的修订数据可能需要几天的运行时间 每次迁移。这不太可行

我的一般方法是在迁移后删除修订数据。 如果您真的想保留它,那么您可以编写自己的数据 在应用程序中进行迁移

--该项目的作者

因此,迁移后的恢复似乎根本不受支持,虽然它有时可以工作,但它并不意味着要这样使用