Чтобы получить класс модели из набора запросов Django, вы можете использовать атрибут modelпервого элемента набора запросов. Вот пример:
from django.contrib.auth.models import User
# Get a queryset of users
users = User.objects.all()
# Get the model class from the queryset
model_class = users.model
# Print the model class name
print(model_class.__name__)
В этом коде предполагается, что у вас есть модель Django под названием Userиз модуля django.contrib.auth.models. Атрибут users.modelвозвращает класс модели, связанный с набором запросов. В данном случае это будет класс модели User.
Помимо упомянутого выше метода, существует несколько альтернативных подходов к получению класса модели из набора запросов:
-
Использование атрибута
modelмодели набора запросов:model_class = users.model -
Использование атрибута
modelзапроса набора запросов:model_class = users.query.model -
Использование метода
django.db.models.query.QuerySet.model:model_class = users.model_class()
Все эти методы дадут один и тот же результат — класс модели, связанный с набором запросов.