Реверсия django - вернуть связанное поле в ту же версию

У меня есть две модели:

class Plan(models.Model):
    ...

class Sales(models.Model):
    plan = models.ForeignKey(Plan)

Я зарегистрировал эти модели в Django-Reversion:

reversion.register(Plan, follow=['sales_set'])
reversion.register(Sales)

Поэтому, когда я получаю старую версию Plan со старой информацией, я пытался получить связанные объекты для этой старой версии Plan следующим образом:

version.object_version.object.sales_set.all()

Но я получаю новейшие версии этих связанных объектов. Итак, как я могу получить старые версии продаж?

1 ответ

Решение

Я нашел способ:

Вы должны отменить текущую ревизию объекта, получить связанные объекты и снова отменить ревизию. Как это:

version.revision.revert()
sales = version.object.sales_set.all()
version.revision.revert()
Другие вопросы по тегам