Change field type checks to work with subclasses.

Review Request #10298 — Created Nov. 1, 2018 and submitted — Latest diff uploaded

Information

Django Evolution
master
7a4641f...

Reviewers

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 as ForeignKey)
would result in broken or inconsistent behavior.

This change updates all these to use issubclass or isinstance
instead of direct type checks.

Unit tests pass on all supported versions of Django.