Есть ли какие-либо предостережения, связанные с использованием object.__class__? например, в Django, как только я сделал это:
object.__class__
model_object.__class__.objects.all()
Я хотел бы знать, если это совершенно нормально.
Спасибо.
Явное лучше, чем неявное. Просто импортируйте класс модели ::
from .models import ModelClass ModelClass.objects.all()
Не обязательно. <class instance>.__class__ - это разумный способ получить атрибуты класса или методы экземпляра. Обычно есть какой-то лучший встроенный способ взаимодействия с атрибутами и методами dunder: в вашем случае вы можете использовать type() для доступа к .__class__, например, type(model_object).objects.all().
<class instance>.__class__
type()
.__class__
type(model_object).objects.all()