请确保您的Django DEBUG
设置设置为True
。
然后,只要这样做:
>>> from django.db import connection
>>> connection.queries
[{'sql': 'SELECT polls_polls.id, polls_polls.question, polls_polls.pub_date FROM polls_polls',
'time': '0.002'}]
True
仅在DEBUG
为connection.queries
时可用。
它是按照查询执行顺序的字典列表。 每个字典有以下:
``sql`` -- The raw SQL statement
``time`` -- How long the statement took to execute, in seconds.
connection.queries
包括所有SQL语句 - INSERT,UPDATES,SELECT等。 每次您的应用程序命中数据库时,将记录查询。
如果您使用multiple databases,您可以在connections
字典的每个成员上使用相同的接口:
>>> from django.db import connections
>>> connections['my_db_alias'].queries
如果你需要在函数中的任何时候手动清除查询列表,只需调用reset_queries()
,就像这样:
from django.db import reset_queries
reset_queries()
看看Django对schema migrations
的支持。
没有。 仅支持单列主键。
但这在实践中不是问题,因为没有什么阻止您添加其他约束(使用unique_together
模型选项或直接在数据库中创建约束),并强制该级别的唯一性。 需要单列主键来使管理界面工作;例如,您需要一种简单的方法来指定要编辑或删除的对象。
NoSQL数据库没有被Django本身正式支持。 但是,有一些侧边项目和叉子允许Django中的NoSQL功能,如Django non-rel。
您也可以在维基页面上查看,其中讨论了一些替代方法。
2017年9月6日