【发布时间】:2013-05-30 01:55:20
【问题描述】:
我正在尝试使用manage.py loaddata myfixture.json 故意批量覆盖我数据库中的几条记录。但是,它给了我错误:
IntegrityError: Problem installing fixture 'myfixture.json': Could not load myapp.Person(pk=1): (1062, "Duplicate entry 'Bob' for key 'name'")
如果主键匹配现有记录,我认为 loaddata 的行为是覆盖记录?我错了,还是在 Django 1.5 中改变了?如何让它覆盖?
【问题讨论】:
-
您确定主键匹配吗?您可以从 myfixture.json 为 Bob 发布部分内容吗?你确定 db 中的 Bob 有 pk=1 吗?
-
您是否尝试使用自然键 (dumpdata --natural) 创建您的夹具?