2009-06-09 14 views
8

Dejar de tomar la documentación aquí: http://docs.djangoproject.com/en/dev/topics/db/sql/Django - Realizar Raw SQL Actualizar/Eliminar fila y retorno recuento

>>>cursor = connection.cursor() 
>>>cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz]) 
>>>print cursor.fetchone() 
None 

¿Alguien sabe cómo devolver el número de filas modificadas?

(NOTA: He jugado un poco con la colocación/orden de transaction.commit_unless_managed() y cursor.fetchone() (también cursor.fetchall()) y no parece hacer una diferencia)

Gracias! -Tom

Respuesta

21

Una instrucción UPDATE como la que tiene en su ejemplo no devuelve resultados de fila, por lo que fetchone() siempre estará vacío (o podría arrojar un error).

Usa cursor.rowcount para obtener las últimas filas afectadas.

Cuestiones relacionadas