In Django, a GenericForeignKey is a feature that allows a model to be related to any other model in the system, as opposed to a ForeignKey which is related to a specific one. This post is about why GenericForeignKey is usually something you should stay away from. I haven't see any other articles describing why that is, or what the alternatives are, so this is my attempt at “GenericForeignKey consi