我有一些基本的初始数据,我想包含在 Django 项目中。除了我可能想要拒绝重复之外,它非常适合作为固定装置。这意味着我可以将数据重新加载到现有安装中,它只会添加不存在的对象。
我在同一个字段上使用了自然键和外键,所以不存在 id 冲突等问题。
可能的?当 JSON 导入器已经存在并且我的数据已经在固定装置中时,我不想编写它。
我有一些基本的初始数据,我想包含在 Django 项目中。除了我可能想要拒绝重复之外,它非常适合作为固定装置。这意味着我可以将数据重新加载到现有安装中,它只会添加不存在的对象。
我在同一个字段上使用了自然键和外键,所以不存在 id 冲突等问题。
可能的?当 JSON 导入器已经存在并且我的数据已经在固定装置中时,我不想编写它。
通常夹具包含一个模型的所有信息,其中包括主键。这是来自 Django 站点的夹具示例:
[
{
"model": "myapp.person",
"pk": 1,
"fields": {
"first_name": "John",
"last_name": "Lennon"
}
},
{
"model": "myapp.person",
"pk": 2,
"fields": {
"first_name": "Paul",
"last_name": "McCartney"
}
}
]
如您所见,它有一个主键。因此,即使您有重复的夹具,只要主键相同,无论要导入的最新夹具是什么,该夹具都会覆盖数据库中的条目,因此您不应该在数据库中有任何重复的数据。