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()