<p>In my app i need to save changed values (old and new) when model gets saved. Any examples or working code?</p>

<p>I need this for premoderation of content. For example, if user changes something in model, then administrator can see all changes in separate table and then decide to apply them or not.</p>

If you're using your own transactions (not the default admin application), you can save the before and after versions of your object.  You can save the before version in the session, or you can put it in "hidden" fields in the form.  Hidden fields is a security nightmare.  Therefore, use the session to retain history of what's happening with this user.
Additionally, of course, you do have to fetch the previous object so you can make changes to it.  So you have several ways to monitor the differences.
```
```
def updateSomething( request, object_id ):
    object= Model.objects.get( id=object_id )
    if request.method == "GET":
        request.session['before']= object
        form= SomethingForm( instance=object )
    else request.method == "POST"
        form= SomethingForm( request.POST )
        if form.is_valid():
            # You have before in the session
            # You have the old object
            # You have after in the form.cleaned_data
            # Log the changes
            # Apply the changes to the object
            object.save()
```
```