Django-reversion вручную создать версию

Допустим, я хочу создавать версию объекта только в определенных условиях, например, когда поле 'status' объекта класса 'mymodel' изменяется на 'submitted'. Как я могу это сделать?

class MyModel(AbstractModel):
    number = models.CharField(max_length=255)
    status = models.CharField(max_length=32)

    def save(self, *args, **kwargs) -> bool:
        if self.status == 'submitted':
            #TODO: create version. HOW??????
        return super().save(*args, **kwargs)

Также как я могу подавить автоматическое создание версии при каждом сохранении?

Нашел способ:

with reversion.create_revision(manage_manually=True, atomic=False):
    reversion.add_to_revision(self)
    self.save()
Вернуться на верх