Как вывести на печать запрос 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()