由于内容类型冲突,我无法将Django固件加载到我的MySQL数据库中。首先,我尝试仅从我的应用程序中转储数据,如下所示:
./manage.py dumpdata escola > fixture.json
但由于我的应用程序“ escola”使用了其他应用程序中的表,所以我一直没有遇到外键问题。我一直在添加其他应用程序,直到我明白了:
./manage.py dumpdata contenttypes auth escola > fixture.json
现在的问题是,当我尝试将数据加载为测试装置时,违反了以下约束条件:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
manage.py dumpdata --natural将使用更持久的外键表示形式。在Django中,它们被称为“自然键”。例如:
manage.py dumpdata --natural
Permission.codename
Permission.id
User.username
User.id
其他一些有用的参数dumpdata:
dumpdata
--indent=4
-e sessions
-e admin
-e contenttypes -e auth.Permission
--natural