这是对此的后续问题:
Postgres: More verbose error message: I am missing the table name
PostgreSQL 9.6改进了版本9.6的错误消息。
使用psql
,您可以启用\set VERBOSITY verbose
。
如何为django ORM中的每个连接启用此功能?
背景:我想要更好的错误消息。
示例:我在这样的消息中缺少表名
IntegrityError: null value in column "date" violates not-null constraint
DETAIL: Failing row contains (10005, null, f, TEST, MAIL).
我认为9.6 release notes的相关部分是:
在libpq中添加支持以重新生成具有不同详细级别的错误消息(Alex Shulgin)
使用新函数PQresultVerboseErrorMessage()完成此操作。这支持psql的新\ errverbose功能,也可能对其他客户端有用。
我使用psycopg2作为数据库适配器。
答案 0 :(得分:2)
试试这个
SELECT *
FROM Test
WHERE Id IN (SELECT TOP 10 Id FROM Test ORDER BY NewId())
测试查询
# settings.py
DATABASES = {
'default': {
'ENGINE': '...',
'OPTIONS': {
'init_command': "SET log_error_verbosity TO 'verbose'",
},
}
}