I'm creating a website with Django using the Rest Framework, it enables users to modify or create new objects, kinda like Wikipedia where anyone can make edits but it has to go through a process to be accepted.
I understand the default behavior for versioning is to save previous changes, but I'd like to use django-reversions or a library to keep track of possible future versions of my models. (Until they get approved by selected users) The thing is the default behavior in django-reversion is that we have to make change to our model object to create a new version, I would instead like to create a new version and then if accepted by the selected users, apply the changes to the object.
My question is: how could I create versions of models without altering the original object?
I still haven't quite figure out the concept of revision blocks which is why I may be asking this question.
If you think there's a better alternative to my problem I'm open to suggestions
Link to django-reversion repo: https://github.com/etianen/django-reversion