4
我有一些我想包含在Django项目中的基础初始数据。它完全适合作为夹具,除了,我可能想拒绝重复。这意味着我可以将数据重新加载到现有安装中,只会添加不存在的对象。我可以让Django忽略非PK唯一约束上的重复装置吗?
我已经使用在同一领域自然键和外键,所以没有ID的冲突等
可能的问题吗?我不想在已经存在的情况下编写JSON导入程序,并且我的数据已经在夹具中。
我有一些我想包含在Django项目中的基础初始数据。它完全适合作为夹具,除了,我可能想拒绝重复。这意味着我可以将数据重新加载到现有安装中,只会添加不存在的对象。我可以让Django忽略非PK唯一约束上的重复装置吗?
我已经使用在同一领域自然键和外键,所以没有ID的冲突等
可能的问题吗?我不想在已经存在的情况下编写JSON导入程序,并且我的数据已经在夹具中。
通常夹具包含模型的所有信息,其中包括主键。下面是来自Django的网站器具的example:
[
{
"model": "myapp.person",
"pk": 1,
"fields": {
"first_name": "John",
"last_name": "Lennon"
}
},
{
"model": "myapp.person",
"pk": 2,
"fields": {
"first_name": "Paul",
"last_name": "McCartney"
}
}
]
正如你可以看到它有一个主键。所以,即使你有重复的灯具,只要主键是相同的,不管最新的导入灯具是什么,它都会覆盖数据库中的条目,所以你不应该在数据库中有任何重复的数据。
谢谢。我希望有一种方法可以在non-pk独特的约束上做到这一点。 – Joe
这并没有真正回答这个问题。我很惊讶这是被接受的答案。 –