Proposed partial fix for issue #19820

This is a partial fix for issue #19820. It provides the users a better error message by giving: the model being deserialized; the model's pk, if any; and what the current field value is.
can we just have 1 assert the checks for the entire "(%s:pk=%s) field_value was '%s'"" string?