【发布时间】:2017-05-23 00:48:46
【问题描述】:
我有这个模型:
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 管理员,在迁移之前我修改了几次博客文章,现在我想迁移到没有随机字段的版本。它说:
Could not save BlogPost object version - missing dependency.
有没有办法防止这种情况发生?我认为这是因为迁移没有创建修订。 似乎错误在这里的某个地方: reversion/models.py#L21
我正在使用
Django==1.11.1
django-reversion==2.0.8
使用 sqlite 数据库。
有没有办法防止这种情况发生?
【问题讨论】: