Sauvegarder les données saisies dans une instance sous la forme de fixture :

Pour sauver toutes les données de votre projet :

python manage.py dumpdata --indent=4 > initial_data.json

Note :

  • le --indent=4 permet que le fichier créé soit correctement indenté et plus facile à lire.
  • par défaut, c'est exporté au format json
  • en nommant votre fichier initial_data.* il sera chargé automatiquement par django lors d'un syncdb, reste ou sqlreset

Pour sauver les données d'une application nommée "monapp" :

python manage.py dumpdata --indent=4 monapp > initial_data.json

Attention, si vous voulez opérer un changement sur votre modèle, il faut faire le dump avant de faire des modifications, sinon cela ne marche pas.

Pour charger une fixture, il suffit de faire :

python manage.py loadata ma_fixture.json

Passer de sqlite à MySQL (ou autre) en ayant des caractères accentués :

Lors du passage de Sqlite à MySQL, j'ai eu le bug suivant avec les exports en json : tous mes caractères accentués étaient transformés en caractères spéciaux. Le seul moyen fut de passer par un export xml :

python manage.py dumpdata --format=xml --indent=4 monapp > initial_data.xml