在Django中,当主键不是id时,可以通过在fixture中指定主键来解决。主键字段在Django中被称为pk
,可以通过在fixture数据中为每个对象指定pk
来设置主键。
以下是在fixture中指定主键的步骤:
data.json
的fixture文件。data.json
文件,为每个对象添加一个pk
字段,并为其赋予唯一的主键值。例如:[
{
"model": "myapp.mymodel",
"pk": 1,
"fields": {
"name": "Object 1",
"description": "Description 1"
}
},
{
"model": "myapp.mymodel",
"pk": 2,
"fields": {
"name": "Object 2",
"description": "Description 2"
}
}
]
loaddata
命令指定fixture文件的路径。例如:python manage.py loaddata data.json
这样,Django将会根据fixture文件中指定的主键值来创建对象,并将其保存到数据库中。
对于Django的fixture导入过程,可以参考腾讯云的云数据库MySQL产品,该产品提供了数据导入和导出的功能,可以方便地将fixture数据导入到MySQL数据库中。具体产品介绍和使用方法可以参考腾讯云的云数据库MySQL页面。
请注意,以上答案仅针对Django中如何在fixture中指定主键的问题,不涉及其他云计算品牌商。
领取专属 10元无门槛券
手把手带您无忧上云