I am working on a django app, and it's blowing up in this in
django/db/backends/mysql/base.py:
def last_executed_query(self, cursor, sql, params):
return cursor._last_executed
with 'Cursor' object has no attribute '_last_executed'
Sure enough, it does not:
$ python
Python 2.6.7 (r267:88850, Jan 11 2012, 06:42:34)
on darwin
Type "help", "copyright", "credits" or "license" for more information.
import MySQLdb conn = MySQLdb.connect(host, user, passwd, db) cursor = conn.cursor() print cursor._last_executed
import MySQLdb
conn = MySQLdb.connect(host, user, passwd, db)
cursor = conn.cursor()
print cursor._last_executed
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Cursor' object has no attribute '_last_executed'
print cursor.dict
{'_result': None, 'description': None, 'rownumber': None, 'messages':
, '_executed': None, 'errorhandler': <bound method
Connection.defaulterrorhandler of <_mysql.connection open to
'localhost' at 889810>>, 'rowcount': -1, 'connection': <weakproxy at
0x62f630 to Connection at 0x889810>, 'description_flags': None,
'arraysize': 1, '_info': None, 'lastrowid': None, '_warnings': 0}
Anyone know anything about this undocumented (and nonexistent) attribute?
I've asked on the django list, but have not received any replies.
Well... you haven't executed a query, now have you? Arguably though it should be initialized to None.
Ok, in my test, after I execute a query it is set. But in my django app I am doing this:
from django.db import connection
cursor = connection.cursor()
cursor.execute(sql)
and it's getting the no attribute error.
So I guess this means that the sql isn't getting executed for some reason. I'll have to investigate that avenue.
Log in to post a comment.
I am working on a django app, and it's blowing up in this in
django/db/backends/mysql/base.py:
def last_executed_query(self, cursor, sql, params):
With MySQLdb, cursor objects have an (undocumented) "_last_executed"
attribute where the exact query sent to the database is saved.
See MySQLdb/cursors.py in the source distribution.
return cursor._last_executed
with 'Cursor' object has no attribute '_last_executed'
Sure enough, it does not:
$ python
Python 2.6.7 (r267:88850, Jan 11 2012, 06:42:34)
on darwin
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Cursor' object has no attribute '_last_executed'
{'_result': None, 'description': None, 'rownumber': None, 'messages':
, '_executed': None, 'errorhandler': <bound method
Connection.defaulterrorhandler of <_mysql.connection open to
'localhost' at 889810>>, 'rowcount': -1, 'connection': <weakproxy at
0x62f630 to Connection at 0x889810>, 'description_flags': None,
'arraysize': 1, '_info': None, 'lastrowid': None, '_warnings': 0}
Anyone know anything about this undocumented (and nonexistent) attribute?
I've asked on the django list, but have not received any replies.
Well... you haven't executed a query, now have you? Arguably though it should
be initialized to None.
Ok, in my test, after I execute a query it is set. But in my django app I am
doing this:
from django.db import connection
cursor = connection.cursor()
cursor.execute(sql)
and it's getting the no attribute error.
So I guess this means that the sql isn't getting executed for some reason.
I'll have to investigate that avenue.