Save with untracked updated fields

Fixed a bug causing ``KeyError`` when saving with the parameter ``update_fields`` in which there are untracked fields.
Also in a few places added the generator expression for optimization and ``set(...)`` for a quick check on the elements entering the tracked fields.