У меня есть модель с общим отношением:
TrackedItem --- genericrelation ---> any model
Я бы хотел иметь возможность получить из исходной модели отслеживаемый элемент.
Я должен быть в состоянии сделать это на любой модели без изменения.
Для этого мне нужно получить тип контента и идентификатор объекта. Получить идентификатор объекта легко, так как у меня есть экземпляр модели, но получить тип содержимого не так: ContentType.object.filter требует модель (которая просто content_object.__class__.__name__
) и app_label.
Я понятия не имею, как надежным способом получить приложение, в котором находится модель.
Пока что я делаю app = content_object.__module__.split(".")[0]
, но он не работает с приложениями для django contrib.