1

私は Django-Reversion を使用しています - オブジェクトの以前のバージョンを一時的に復元して、DetailView で表示できるようにする方法はありますか?

非動作コード -version.get_object()いいですね..

class ProductDetailView(DetailView):

    def get_object(self):
        obj = super(ProductDetailView, self).get_object()
        if self.request.GET.get('v') is not None:
            version_id = force_text(self.request.GET.get('v'))
            version = get_object_or_404(Version, pk=version_id, object_id=force_text(obj.pk))
            return version.get_object()
        return obj
4

2 に答える 2

3

問題は解決したと思いますが、念のため、 を使用してインスタンスにアクセスできますがversion._object_version.object、最新バージョンからの逆の関係情報が含まれています。

リレーション データを含む完全なインスタンスを取得する唯一の方法は、トランザクションを開始し、リビジョンを元に戻し、必要なことをすべて行い、トランザクションを元に戻すことです。 .com/d/msg/django-reversion/FIi8smbLGEc/BvLN20p4HAAJ .

于 2016-07-26T13:02:10.020 に答える