我一直在这里两天,我现在希望有人能指出我在正确的方向。我所要做的就是将表/模型中的条目复制到具有镜像字段的另一个模型中,实质上创建一个存档版本。我希望在用户调用更新视图时发生这种情况。在Django中复制/归档条目到另一个模型
我到目前为止所尝试的是将pk
设置为None
,然后试图找到一种方法将以前的版本移动到镜像/归档模型。经过几个小时的研究,我放弃了这条道路。接下来,我认为答案将在于pre_save
接收器,但我无法找到访问模型实例的方法,然后访问存档模型save
。
@receiver(pre_save, sender=InstrumentAnnual)
def archive_calc_instance(sender, instance, **kwargs):
stored_id = getattr(instance, 'id', None)
e = InstrumentAnnual.objects.filter(id = stored_id)
archive = InstrumentAnnualArchive(e.field_name, e.another_field_name...)
archive.save()
据我所知这应该工作然而e
只包含从模型中的第一场。
是否有这样的代码可以完成我的目标,或者是有更多'Django'的方法来解决这个问题?即某种官方档案功能?
在此先感谢。
有类似的问题: http://stackoverflow.com/questions/10817422/copy-model-object-from-a-model-to-another-in-django – 2014-09-10 19:57:08
感谢伊戈尔,我没看到那个帖子昨天,但认为这不是我想要的。显然它是!我已经在下面发布了我的新代码。 – Karl 2014-09-11 12:27:56