2010-10-15 4 views
1

Lors de l'exécution d'un test unitaire Django, il va essayer d'installer un dispositif de fixation (initial_data.json) à la DB, mais échoue à chaque fois en raison de Runtime Error: maximum recursion depth exceeded while calling Python objectProfondeur maximale Recursion dépassée lors de l'installation de Django Fixture

Toute idée de ce qui se passe?

Edit: Django 1.2.3 et Python 2,7

alt text

+0

La publication du contenu de l'appareil peut s'avérer utile. –

+0

La publication de la version de Django que vous utilisez peut également aider –

Répondre

0

Je reçois souvent des erreurs opaques de façon frustrante manage.py loaddata et des opérations connexes comme celui que vous avez illustré ici.

Une cause possible est: les appareils générés à partir de manage.py dumpdata > fixture.json - sans aucun nom d'application admissible - sont remplis d'enregistrements inutiles dont vous n'avez pas besoin pour vos tests.

Vous pouvez régénérer votre fichier initial_data.json, à l'exclusion une partie ou toutes les caractéristiques suivantes:

  • entrées du journal d'administration
  • Content-types (ces repeupler automatiquement lorsque manage.py syncdb et similaires sont )
  • invoquées
  • Sessions
  • django.contrib.auth autorisations
  • Tous les modèles, ou applications entières, qui sont spécifiquement ancilliary à vos tests (par ex. Je laisse de côté django-marquage données, les tables pour généralement qui peut se développer à grande très rapidement, et dont le contenu est souvent orthogonale à mes tests)

Si vous avez besoin tout dans votre appareil, vous pouvez aussi essayer casser dans deux ou plusieurs fichiers d'appareils.

Questions connexes