2009-05-20 10 views

Respuesta

53

Cada django-admin.py (manage.py) de comandos, como se ve en la documentation, se puede llamar desde su código con:

from django.core.management import call_command 

call_command('loaddata', 'myapp') 

Dónde primer parámetro es el nombre del comando, todos los otros parametros de posición son los mismos que la línea de comandos los parámetros de posición y todos los parámetros de palabras clave son opciones.

+2

También puede agregar la opción "verbosity = 0" para la salida de la consola de supresión: call_command ('loaddata', 'fixture_name.json', verbosity = 0) –

+0

Documentos aquí: https://docs.djangoproject.com/en/ 1.8/ref/django-admin/# running-management-commands-from-your-code – Renato

+0

Tenga en cuenta que ** no es adecuado utilizar el comando 'loaddata' directamente en una migración de datos **, ya que internamente carga la mayor cantidad las definiciones de modelo actualizadas y las utiliza para deserializar datos históricos en un dispositivo. Ese es un comportamiento incorrecto. Solución aquí: http://stackoverflow.com/a/39743581/2293304 – Rockallite