Insert copies in _original_state, instead of references
Insert copies in _original_state, instead of references

Otherwise, the behaviour becomes bogus when dealing with objects more complex
than simple types, like GEOS geometries.

Won't the copy take more memory? Well, very few, because it is a shallow copy,
and thus all objects referenced by the root object stay the same.

Shouldn't this be optional? For all the use cases that worked currently, it
doesn't change anything (a copy of a bool or of a string will use the same
amount of memory than before), and for other cases it is the only way to solve a
critical bug. So there is no point making this optional.

ActivKonnect/django-dirtyfields