duda sobre django: al leer una base de datos me devuelve una lista vacia

Jose Caballero jcaballero.hep en gmail.com
Lun Jul 7 22:35:12 CEST 2008


Hola,

estoy intentado seguir la documentación de los capítulos 5 y 16 del libro de
django, pero me he atascado. Quiero poder leer la información contenida en
una base de datos que ya existe.
Los pasos que he ejecutado han sido:

1) editar el fichero settings.py para especficar usuario, password, nombre
de la base de datos y host.
Lo he verificado ejecutando

$ python manage.py shell
from django.db import connection
cursor = connection.cursor()

y no pasó nada (según el libro, eso significa que todo está bien
configurado)

2)  python manage.py startapp test1

3) para crear el contenido del fichero model.py he usado el comando

python manage.py inspectdb > test1/modes.py

esto me ha creado un fichero con una réplica de la estructura de la base de
datos. He borrado todo excepto la primera clase (para leer solo una tabla).

4) Intento lo siguiente  [1]:

$ python manage.py shell
from test1.models import TableName
list = TableName.objects.all()
list


el resultado es una lista vacía. La DB no está vacía. De hecho, he probado
con éxito a hacer lo siguiente:

$ python
import MySQLdb
db = MySQLdb.connect(user='el_usuario', passwd='el_passwd', db='la_db',
host='el_host')'
cursor = db.cursor()
cursor.execute('SELECT * FROM TableName')
list = [row[0] for row in cursor.fetchall()]
list

y me devuelve todo el contenido de la primera columna en esa tabla. Esto me
asegura que la DB no está vacía.
Bueno, el nombre de la tabla (que he escrito como TableName en ambos casos)
varía ligeramente porque django crea su propio nombre, bastante parecido
pero no igual.
Pero si entiendo bien la documentación, eso no importa pues la clase incluye
la definición de una metaclase con el nombre real de la tabla en la DB.
¿Estoy en lo cierto?

¿Por qué obtengo una lista vacía con django? ¿Me he saltado alguna línea
importante en el paso [1]?




Cualquier ayuda será más que agradecida.

Saludos,
Jose
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es