1. How to find the query associated with a queryset?¶
有时你想知道Django ORM如何执行我们的查询或者你正在编写的代码的相应SQL是什么。 这非常直截了当。 您可以获取queryset.query
的str
来获取sql。
你有一个名为Event
的模型。 要获取所有记录,您将编写类似Event.objects.all()
的内容,然后执行str(queryset.query)
>>> queryset = Event.objects.all()
>>> str(queryset.query)
SELECT "events_event"."id", "events_event"."epic_id",
"events_event"."details", "events_event"."years_ago"
FROM "events_event"
Example 2
>>> queryset = Event.objects.filter(years_ago__gt=5)
>>> str(queryset.query)
SELECT "events_event"."id", "events_event"."epic_id", "events_event"."details",
"events_event"."years_ago" FROM "events_event"
WHERE "events_event"."years_ago" > 5