Hi all, This comes from trying to fix #24343[1] -- a problem where a UUIDField is used as a PK (legitimate and common practice), and we wish to test a FK to that model. The problem is that, on database backends which do not support native UUIDFields (that is, all but postgres), the underlying field for an FK is a CharField, not a UUIDField. This is not a problem in most normal use, but sometimes people do access the underlying field, and they're in for a surprise there.
I am almost certain that a similar problem exists with any non-trivial field -- e.g. if someone had reason to use a CommaSeparatedIntField as a PK, they would probably run into the same issue. Now, there are two essential ways to fix the test failure in the ticket: One, as suggested by Tim in a comment on the ticket, is to just deal with the difference in the test. The other is to solve the deeper issue, which could be seen as a little disruptive at this point in the release cycle (and is, in general, more disruptive). Note that, as Tim notes on the ticket, the test failure is Oracle only, but the real issue is everyone-but-postgres. Opinions? Thanks, Shai. [1] https://code.djangoproject.com/ticket/24343