Я недавно наткнулся на эту удивительную особенность Django и, прочитав страницу документов , все прояснил.
Чтобы немного расширить, общие отношения - это когда вы хотите, чтобы Модель могла быть связана с более чем 1 другой Моделью. В приведенном выше примере, поскольку он использует GenericKey, комментарий может принадлежать нескольким моделям (таким как вопрос или ответ и т. Д.)
В моем конкретном примере использования у меня была модель AddressProfile, и я хотел, чтобы и модель User, и модель Company могли иметь AddressProfile. Изначально у меня просто было два ForeignKeys в AddressProfile с null = True, чтобы я мог указать, какое бы это отношение не было, но функциональность GenericKey сделала его намного чище для меня.