Comment créer un fichier de assembly

Je veux créer un fichier de fixtures dans mon projet Django.

Comment puis-je faire ceci?

Lisez les correctifs de TestCase .

  1. Chargez des données dans une firebase database gérée par Django. Les scripts Python simples fonctionnent parfaitement, ou utilisez l’interface d’administration par défaut.

  2. Utilisez manage.py dumpdata pour vider les données dans un fichier JSON. Lisez ” django-admin.py et manage.py “.

Vous devez créer un répertoire dans votre app nommé fixtures et y placer vos fichiers de fixtures.

Vous pouvez les écrire dans json ou xml, un moyen simple de les créer est de créer des objects dans l’interface d’administration, puis d’exécuter manage.py dumpdata. Cela viderait les données des objects que vous avez créés dans les fichiers de assembly. Après cela, vous pouvez simplement modifier ces fichiers en fonction de vos besoins.

https://docs.djangoproject.com/en/1.7/ref/django-admin/#dumpdata-app-label-app-label-app-label-model

Si vous voulez charger les appareils, vous utilisez manage.py loaddata.

https://docs.djangoproject.com/en/1.7/ref/django-admin/#loaddata-fixture-fixture

Vous pouvez avoir des appareils avec des données initiales qui seraient automatiquement chargées lorsque vous exécutez syncdb, créez simplement un fichier nommé initial_data et Django le reconnaîtrait.

https://docs.djangoproject.com/en/1.7/howto/initial-data/#automatically-loading-initial-data-fixtures

Pour utiliser des appareils à des fins de test, vous devez les déclarer dans votre classe de test.

https://docs.djangoproject.com/en/1.7/topics/testing/tools/#fixture-loading

J’ai atterri ici en regardant comment faire des assemblys. J’ai trouvé l’article suivant le plus facile.

https://code.djangoproject.com/wiki/Fixtures

Ajoutez le chemin d’access FIXTURE_DIRS aux FIXTURE_DIRS de votre application.py.

 import os PROJECT_DIR = os.path.abspath(os.path.dirname(__file__)) FIXTURE_DIRS = ( os.path.join(PROJECT_DIR, 'fixtures'), ) 

Maintenant, videz votre état actuel de mes applications dans un fichier JSON.

 python manage.py dumpdata --format=json myapp > myapp/fixtures/initial_data.json 

C’est le moment de tester. Déposez les tables myapp

 ./manage.py sqlclear myapp | ./manage.py dbshell 

Maintenant, rechargez les appareils maintenant …

 ./manage.py syncdb 

Pour vider les données:

 python manage.py dumpdata app.model_name --indent 4 > fixtures/file_name.json 

Pour charger des données:

 python manage.py loaddata fixtures/model_name.json --app app.model_name 

–indent X est facultatif.

J’écris actuellement un module django ( django-generate_fixtures ) pour générer des fixtures intelligentes, en suivant tous les modèles associés d’un object parent.

Il vide les données en JSON dès maintenant, puis vous pouvez les charger de la même manière que tous les autres appareils.

Si vous voulez vider l’intégralité du site, vous n’avez pas besoin de spécifier un répertoire de fixtures dans les parameters, vous pouvez créer un répertoire de fixtures dans votre projet et l’exécuter.

 python manage.py dumpdata --format=json > /full-path-to-my-project/fixtures/initial_data.json