Я всегда делал это традиционным способом, что означает профиль пользователя, потому что это было предложено в документации, но это не очень ясное и элегантное решение. Вы всегда должны учитывать возможность того, что у пользователя нет профиля, что мне не очень нравится. В следующем проекте я хотел бы использовать подклассы, и если только он находится в стабильной версии Django, я заставлю коллег в моей компании попробовать это. Это кажется гораздо более естественным.
Если вы хотите быть в безопасности, используйте профиль. Если вы предпочитаете немного рисковать и получать выгоду от гораздо лучшего решения, используйте подклассы. Это было введено по причине - было несколько разговоров о слабостях решения профиля.