2010-09-08 12 views
8

Estoy tratando de hacer mover algunos datos de mi máquina de desarrollo a un servidor usando dumpdata, pero se encontró con un problema. Entonces, digamos que quiero volcar los datos que pertenecen a la aplicación django.contrib.auth.
django.contrib.auth está en mi INSTALLED_APPS.
Esto sucede cuando corro
$ python manage.py dumpdata django.contrib.authejecutando manage.py dumpdata en aplicaciones con puntos en sus nombres

Error: Unknown application: django.contrib.auth

Lo extraño es que puedo hacer manage.py testserver (es decir, no hay nada roto) o hago
$ python
>>> import django.contrib.auth

Así que no hay nada de malo en el camino pitón.
Puedo ejecutar dumpdata en aplicaciones que se encuentran directamente en el directorio de mi proyecto.
Si dejo fuera los nombres de las aplicaciones, las tablas django.contrib.auth se descargan como se esperaba.

Entonces, ¿por qué no puedo señalar una aplicación específica con puntos en el nombre? He intentado volcar otras aplicaciones que se encuentran en site-packages con el mismo resultado.

Respuesta

22

Procurad, más bien:

python manage.py dumpdata auth 

El comando dumpdata no requiere que el (completo) el nombre del paquete de la aplicación, sólo el nombre.

+4

Esto es un comportamiento poco intuitivo, ya que esperaba que Django utilizara el nombre completo del paquete, pero permite el nombre corto si no hubiera conflictos. Gracias por señalar esto. – Cerin

+0

A partir de hoy, las aplicaciones django deben tener nombres únicos, por lo que habrá posibles conflictos. –

+0

Ugh. Esto no funciona para mi Tengo una aplicación 'orders', así como una aplicación 'dashboard.orders'. Simpy usa 'órdenes' solo muestra datos de la aplicación. :( –

Cuestiones relacionadas