Ensure there are dirty fields when performing update

It's possible that the 'updating' or 'saving' events could cause fields on the model to 'reset' (i.e. revert back to their original values). Since the dirty fields are pulled again before performing an update, we must make sure there are fields there to update, otherwise it could generate an invalid query in the form of:
UPDATE table SET *nothing* WHERE id = 123