Change field type checks to work with subclasses.
Review Request #10298 — Created Nov. 1, 2018 and submitted
There's a large number of legacy
if type is ...checks throughout the
codebase, which limits functionality to those specific field types.
While rare, any subclasses of these field types (such asForeignKey)
would result in broken or inconsistent behavior.This change updates all these to use
issubclassorisinstance
instead of direct type checks.
Unit tests pass on all supported versions of Django.