I have Users which can be either TypeS, TypeC, or TypeA. I have models for each of these types to store additional information. Now, in the Users table, should I have
- 3 nullable foreign-key fields to designate which type they are
- 2 fields, 1 with the name of the type and 1 with the foreign key
- 1 field designating the type with the foreign key on the other model
- no field on the user, and rely on checking the reverse relationship?
I'm using Django if you want to provide a more refined answer.