def changes(self):
        """
        Returns a dict containing just the fields which have changed on this
        Document since it was created or last saved, together with both their
        previous and current values

            doc['name']             # => 'bob'
            doc['name'] = 'clive'
            doc.changes             # => {'name': ('bob', clive')}
        """
        return {key: (self._previous[key], self._instance[key])
                for key in self._previous}
Returns a dict containing just the fields which have changed on this
        Document since it was created or last saved, together with both their
        previous and current values

            doc['name']             # => 'bob'
            doc['name'] = 'clive'
            doc.changes             # => {'name': ('bob', clive')}