[pyar] Warning: Incorrect integer value y redacción correcta del codigo en Python

fisa fisadev en gmail.com
Vie Dic 9 15:16:35 ART 2011


On Dec 9, 2011 2:21 PM, "Diego Uribe Gamez" <diego.uribe.gamez en gmail.com>
wrote:
>
> El problema que tengo es en identificar el tipo de dato que entra a la
base de datos, yo los cree todos como IntegerField en el modelo de Django y
en el código de Python solo lo inserta todo en una lista para luego
insertarlo en la base de datos.
>
> Por otro lado no tengo muy clara la redacción del código en
Python según las reglas de longitud de la linea, lo que yo hago es que
apenas vea que en la terminal el código esta muy largo lo separo con
espacios hasta alinearlo debajo en la siguiente linea, no se si este bien
de esta manera y que el código no falle.
>
> El dato que tiene que entrar en ip_unidad es ('186.99.41.000', 3333) que
se encuentra en 'self.addr[0]' y el dato de la fecha es '091211' que esta
en 'self.Cadenapura[17]'
>
>
-----------------------------------------------------------------------------
> El error en consola es:
>
-----------------------------------------------------------------------------
> Warning: Incorrect integer value: 'self.addr[1]' for column 'ip_unidad'
at row 1
>
'self.Cadenapura[13]','self.Cadenapura[15]','self.Cadenapura[16]','self.Cadenapura[17]'))
> Warning:Incorrect integer value: 'self.Cadenapura[17]' for column 'fecha'
at row 1
>
'self.Cadenapura[13]','self.Cadenapura[15]','self.Cadenapura[16]','self.Cadenapura[17]'))
>
>
-----------------------------------------------------------------------------
> El código .py usado es:
>
-----------------------------------------------------------------------------
>             # Ejecutar solicitud con datos
>             try :
>
cursor.execute(sql,('self.Cadenapura[3]','self.addr[1]','self.Cadenapura[2]','self.Cadenapura[9]','self.Cadenapura[11]',
>
'self.Cadenapura[13]','self.Cadenapura[15]','self.Cadenapura[16]','self.Cadenapura[17]'))
>                 db.commit()
>             except:
>                 db.rollback()
>
>
-----------------------------------------------------------------------------
> El modelo de Django usado para crear la base de datos es:
>
-----------------------------------------------------------------------------
>
> class Carro(models.Model):
>     ip_unidad = models.IntegerField(max_length=15)
>     fecha = models.IntegerField(max_length=6)
>
>
> --
>  Diego Alonso Uribe Gamez
> ________________________________
>
> Desarrollador web
>
> Twitter: @DiegoUG
>
> Google+: http://gplus.to/diegoug
>

Fijate que no estás distinguiendo entre lo que es código de programación y
lo que son textos literales (strings).

Con algunos ejemplos creo que vas a darte cuenta del problema:

lista = ['hola', 'chau']

def hablar(texto):
    print texto

hablar(lista[0]) # imprime hola
hablar('lista[0]') # imprime lista[0]

Usar lista[0] es usar lo que se encuentre en la primer posición de lista.
Usar 'lista[0]' es usar un texto que dice literalmente lista[0].

Te vuelvo a recomendar, antes de seguir con tu proyecto deberías hacer
algún curso, libro o al menos tutorial de programación (y mejor si es en
python). De lo contrario vas a seguir renegando continuamente con cosas que
son super básicas, sin entender qué pasa.
Es como intentar fabricar un avión desde la nada, sin saber siquiera cómo
funciona un motor. No es algo que vayas a poder lograr copiando pedacitos
de cosas de la web. Y tampoco te va a resolver otra gente cada linea de
código de la aplicación completa.
Te lo digo con buena onda. Fijate que primero dedico tiempo a resolverte
los temas y después te hago esta recomendación.

--
fisa - Juan Pedro Fisanotti - desde Android
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111209/537a89bc/attachment.html>


More information about the pyar mailing list