You may be better off rejecting the change if another use has changed any field in the record. You can alert the user that the record has change and show them the new data to perform the update again (maybe keep their changed values available to them).
This way if another user changes a field that relates to a field they did not change, you will not be making changed to the records that no longer make sense with each other.