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:45:24 CEST 2008


Olvidé mencionar que la configuración del fichero settings.py la he
verificado también con el comando python manage.py validate.
El error no parece estar en los ficheros de configuración.


El día 7 de julio de 2008 16:35, Jose Caballero <jcaballero.hep en gmail.com>
escribió:

> 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