我正在尝试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中改变了?如何让它覆盖?
答案 0 :(得分:4)
我找到了一种方法来修改Django的loaddata命令,以便在加载时正确解析自然键,并避免重新加载重复项。修改后的命令已发布here。官方加载数据之间的唯一区别是189-201行。
答案 1 :(得分:1)
也许如果您创建一个命令并从中调用修复程序,您可以处理这种情况。
在我看来,灯具用于静态数据。