¿Puedo realizar una dumpdata
de Django en un solo modelo, en lugar de toda la aplicación, y si es así, ¿cómo?
Para una aplicación sería:
python manage.py dumpdata myapp
Sin embargo, quiero que se descarte algún modelo específico, como "myapp.mymodel". La razón es que tengo algunos conjuntos de datos enormes de más de 3 millones de registros en la misma aplicación que no me gustaría descartar.
django
django-models
loaddata
dumpdata
nategood
fuente
fuente
Respuestas:
A partir de la versión 1.1 y posteriores, el
dumpdata
comando de administración de Django le permite volcar datos de tablas individuales:También puede separar múltiples aplicaciones y modelos en la línea de comando. Aquí está la definición canónica:
fuente
--indent 4
despuésdumpdata
Como se señaló, no puede hacer esto a través de un comando manage.py en Django 1.0. Sin embargo, podría usar un script para exportar el archivo JSON y cargarlo usando
loaddata
:fuente
Tome todos los datos en formato json del modelo django.
Sintaxis:
Por ejemplo, volcar datos del modelo group_permission que residen en la aplicación de autenticación predeterminada en django.
Para la salida, eche un vistazo a la consola .
fuente
Creo que tenías la solución en tu pregunta. Puede volcar un modelo individual como este:
fuente
Para tener éxito, tuve que decirlo dos veces y especificar el modelo dos veces, como:
Si solo dijera
Me inundé con todos los modelos en myapp2, a pesar de que especifiqué my_model.
fuente
Como solución alternativa, puede crear otra aplicación y copiar el modelo, pero apuntarlo a la tabla existente con la opción meta db_table. Luego, podría volcar los modelos que copió en la nueva aplicación. Tu aplicación existente no se vería afectada.
fuente
He creado un comando de administración que genera un dispositivo por modelo. Los accesorios se pueden generar ejecutando:
código en: https://gist.github.com/2394883
fuente
Para escribirlo en un archivo específico:
fuente