我有一个查询,我希望引发异常,Unknown column 'foo.bar' in 'field list'
; 但是,现在在 1.4 Django 上,异常似乎被吞没了,并返回了一个空的查询集。
In [1]: Foo.objects.all()
Out[1]: []
In [2]: from django.db import connection
In [3]: connection.queries
Out[3]:
[{'sql': 'SELECT ..`foo`.`bar` ...',
'time': '0.001'}]
同时,数据库中的相同查询:
mysql> SELECT ..`foo`.`bar` ...;
ERROR 1054 (42S22): Unknown column 'foo.bar' in 'field list'
我可以恢复(我认为的)旧行为吗?
我在哪里错过了发行说明中的这个变化?
请注意,这不是查询集的延迟执行的问题,而是connection.queries
有一个查询。打印查询集执行查询。
In [1]: from django.db import connection
In [2]: connection.queries
Out[2]: []
In [3]: q = Foo.objects.all()
In [4]: connection.queries
Out[4]: []
In [5]: print q
Out[5]: []
In [6]: connection.queries
Out[6]:
[{'sql': 'SELECT ...