Hola Stackoverflow,Cómo depurar: se aborta Error interno transacción actual, los comandos ignorado hasta el final del bloque de transacción
hago mis primeros pasos con GeoDjango y estoy en busca de mejores opciones para comprobar las sentencias SQL defectuosos.
Hasta ahora, simplemente quería asegurar un punto lat + lat en mi tabla postgresql.
El modelo se define con:
geolocation = models.PointField(_('Geo Location'),
geography=True,
null = True,
blank = True,
help_text=_('Geolocation with Longitude and Latitude'))
objects = models.GeoManager()
En mi opinión, trato de ejecutar el siguiente comando
savedProject.geolocation = GEOSGeometry('POINT(%s %s)' %(u_lng,u_lat))
pero recibo el siguiente error cuando trato de guardar el formulario:
Tipo de excepción: InternalError Excepción Valor: la transacción actual es abortado, comandos ignorados hasta el final del bloque de transacción
¿Cuál es la razón de este error? Creo que podría haber algo mal con la declaración sql, pero ¿cuál es la mejor manera de verificar? Django solo proporciona el mensaje de error general "Error interno".
¡Gracias por su ayuda y sugerencias!
Su configuración de registro de SQL sugerida no proporciona ningún complemento registro de la consola de iones para mí. Tengo DEBUG = True, así que no estoy seguro de qué más intentar ver realmente el SQL. Tuve un error en mi llamada .extra(), mi donde tenía un error tipográfico. Me llevó varias horas darme cuenta. Hubiera sido pan comido si hubiera podido ver el SQL que estaba generando. Me solucionaron mi problema, pero Django no estaba seguro. – gdonald
Estoy dando +1 a su respuesta, debido a "En la mayoría de los casos esto significa que la instrucción SQL anterior no se pudo ejecutar". fue exactamente el caso para mi problema. El seguimiento de pila mostraba un objeto que no se guardaba, pero en realidad era una consulta sobre él. Según mi experiencia, los rastros de pila de Django no son útiles en la mayoría de los casos. – gdonald
Estoy preocupado por "no proporciona ** ningún registro de consola adicional **". Así que actualicé la respuesta para incluir una forma fácil de probar esta configuración de REGISTRO. Esto le permite saber si esto proviene de su proyecto (¿configuración?) O del entorno. – jpic