Как вывести на печать запрос Django ORM

Я использую Django ORM запрос с дополнительными параметрами. Когда я пытаюсь вывести SQL запрос, соответствующий этому ORM запросу, я получаю следующее сообщение об ошибке.

ORM Query:

Record = SAMPLE_TABLE.objects.extra(where=["REPLACE(Message,' ','') "+whereCaseSensitive+" like %s "+query],params=[duplicateCheckMessage]). filter(~Q(iStatus=2),~Q(iAppStatus=2),iEntityID=entityId,iTemplateType=1).first()

>

Message - FieldName , whereCaseSensitive - '', query - ( FIND_IN_SET("test",Testfield))

Я пытаюсь получить sql-запрос, связанный с этим, используя print(Record.query) Когда я запускаю это, я получаю исключение, так как у объекта 'NoneType' нет атрибута 'query'

Может ли кто-нибудь помочь в этом?

Вы не можете вывести запрос для первого (или любого другого) элемента кверисета, потому что это экземпляр, а не запрос. Чтобы напечатать .query, необходимо сделать это на кверисете

Попробуйте это

my_query = SAMPLE_TABLE.objects.extra(*some_extra).filter(*some_filter)
print(my_query.query)
record = my_query.first()
Вернуться на верх