Quiero crear un archivo de dispositivo en mi proyecto Django.Cómo crear un archivo de dispositivo
¿Cómo puedo hacer esto?
Quiero crear un archivo de dispositivo en mi proyecto Django.Cómo crear un archivo de dispositivo
¿Cómo puedo hacer esto?
Lea TestCase.fixtures.
Cargue algunos datos en una base de datos manejada por Django. Los scripts simples de Python funcionan bien, o usan la interfaz de administración predeterminada.
Utilice manage.py dumpdata
para volcar los datos en un archivo de dispositivo JSON. Lea "django-admin.py and manage.py".
Debe crear un directorio en su aplicación con el nombre de accesorios y poner sus archivos de accesorios allí.
Puede escribirlos en json o xml, una manera fácil de hacerlos es crear algunos objetos en la interfaz de administración y luego ejecutar manage.py dumpdata. Eso arrojaría los datos de los objetos creados a los archivos de dispositivos. Después de eso, simplemente podría editar esos archivos según sus necesidades.
https://docs.djangoproject.com/en/1.7/ref/django-admin/#dumpdata-app-label-app-label-app-label-model
Si desea cargar los aparatos que utilizan loaddata manage.py.
https://docs.djangoproject.com/en/1.7/ref/django-admin/#loaddata-fixture-fixture
Usted puede tener los accesorios con los datos iniciales que se carga automáticamente cuando se ejecuta syncdb, basta con crear un archivo llamado initial_data y Django lo reconocería.
Para utilizar accesorios para propósitos de prueba debe declarar en tu clase de prueba
https://docs.djangoproject.com/en/1.7/topics/testing/tools/#fixture-loading
aterricé aquí buscando cómo hacer accesorios. Encontré el siguiente artículo para ser el más fácil.
https://code.djangoproject.com/wiki/Fixtures
añadir la ruta a su FIXTURE_DIRS
aplicaciones de settings.py
.
import os
PROJECT_DIR = os.path.abspath(os.path.dirname(__file__))
FIXTURE_DIRS = (
os.path.join(PROJECT_DIR, 'fixtures'),
)
Ahora volcar su estado actual myapp
en un archivo JSON.
python manage.py dumpdata --format=json myapp > myapp/fixtures/initial_data.json
Eso es, es hora de probar. Caída myapp
mesas ...
./manage.py sqlclear myapp | ./manage.py dbshell
Ahora volver a cargar los accesorios ahora ...
./manage.py syncdb
También vale la pena señalar que puede seleccione selectivamente modelos usando su ruta en minúscula. También puede imprimir bastante por tuberías a través de 'python -mjson.tool' -' python manage.py dumpdata myapp.mymodel | python -mjson.tool> mymodel.json'. – Rebs
Aparece un error cuando ejecuto el comando 'dumpdata'. 'El método unbound contribute_to_class() se debe invocar con la instancia de TextField como primer argumento (en su lugar se obtuvo la instancia de ModelBase)'. ¿Por qué? – Hussain
@Hussain ¿Es válido el modelo? ver https://code.djangoproject.com/wiki/NewbieMistakes#Symptom5 – cevaris
Actualmente estoy escribiendo un módulo de Django (django-generate_fixtures) para generar los accesorios inteligentes, siguiendo todos los modelos relacionados de un objeto principal
Vacia los datos como JSON en este momento, luego puede cargarlos de la misma manera que cualquier otro dispositivo.
Si desea volcar todo el sitio, no es necesario especificar un dir accesorios en la configuración, se puede hacer un dir accesorios en su proyecto y ejecutar este
python manage.py dumpdata --format=json > /full-path-to-my-project/fixtures/initial_data.json
cuando se enlaza a documentos, es mejor vincularlo a la versión [dev] ("https://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-appname-appname-appname-model")? – codervince
El enlace que proporcionó ya no es válido, aquí hay un nuevo enlace: [TestCase.fixtures] (https://docs.djangoproject.com/en/1.9/howto/initial-data/) – Dan