Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2012, 16:26
Avatar de diegoug
diegoug
 
Fecha de Ingreso: mayo-2011
Ubicación: Colombia
Mensajes: 52
Antigüedad: 13 años
Puntos: 1
Pregunta Como guardar variables desde .py hacia la base de datos de Django

Lo primero es como guardar una ip en una variable? siempre que le doy:

>>> i = 1
>>> print type(i)
<type 'int'>
>>> ip = 186.168.74.000
File "<stdin>", line 1
ip = 186.168.74.000
^
SyntaxError: invalid syntax

Quiero almacenar unos datos que me entran al servidor como 'str' pasarlos a un modelo Django de base de datos como el numero que es, el ejemplo anterior es la ip:

>>> ip = self.addr[0]
>>> print "ip unidad: ",ip
ip: 186.168.74.000
>>> print type(ip)
<type 'str'>

Como este hay varios números que entran como str, que quiero guardar en el modelo de la base de datos Django:

212841.00
0440.138352
-7406.713584
0.0
012642000481031

Se que para esto tengo que usar del lado del modelo (models.FloatField o models.DecimalField)
ip = models.IntegerField(max_length=15)

intento pasar las variables de un 'str' a un tipo que se acople a cada dato.

ip = Decimal(self.addr[0])

para almacenar el dato lo hago desde python a la base de datos Django:

sql = """INSERT INTO unidad ( ip ) VALUES (%s)"""

No estoy seguro de lo que significa %s y como afecta mi código?

Me sale este error:

/unidades.py:5: Warning: Incorrect integer value: 'ipunidad' for column 'ip' at row 1 cursor.execute(sql, ('ipunidad',))

La idea es meter la ip y los otros numero de forma adecuada en la base de datos de Django, les agradecería una ayuda, es algo básico pero me toma mucho tiempo resolverlo.

Gracias.
__________________
_________________________
Diego Alonso Uribe Gamez
Twitter: @DiegoUG

Última edición por diegoug; 05/03/2012 a las 16:30 Razón: redacción