Метод get_for_model
делает некоторые причудливые вещи, но в некоторых случаях лучше не использовать эти причудливые вещи.В частности, скажем, вы хотели отфильтровать модель, связанную с ContentType, возможно, через общий внешний ключ ??Вопрос был в том, что использовать для model_name
в:
content_type = ContentType.objects.get (model = model_name)
Использовать Foo._meta.model_name
илиу вас есть Foo
объект, тогда obj._meta.model_name
- это то, что вы ищете.Затем вы можете выполнять такие действия, как
Bar.objects.filter(content_type__model=Foo._meta.model_name)
. Это эффективный способ фильтрации таблицы Bar
для получения объектов, которые ссылаются на тип содержимого Foo
через поле с именем content_type
.