Postgresql 多对多关系导致外键违反jointable

Postgresql 多对多关系导致外键违反jointable,postgresql,go,go-gorm,Postgresql,Go,Go Gorm,我是刚来Golang的新手,我尝试构建一个小的API rest项目来学习如何使用这种语言;但是,当我发送POST请求并尝试在Postgresql中的DB中创建新记录时,出现了一个错误(外键冲突错误)。此外,我正在使用gorm和mux包 我的E/R图: 我的型号是: 类型Personas结构{ 戈姆模型 Idregistro uint`gorm:“非空;唯一索引;自动递增;”` Nombres string`gorm:“非空;”` ApellidoPaterno字符串`gorm:“非空;”` A

我是刚来Golang的新手,我尝试构建一个小的API rest项目来学习如何使用这种语言;但是,当我发送POST请求并尝试在Postgresql中的DB中创建新记录时,出现了一个错误(外键冲突错误)。此外,我正在使用gorm和mux包

我的E/R图:

我的型号是:

类型Personas结构{
戈姆模型
Idregistro uint`gorm:“非空;唯一索引;自动递增;”`
Nombres string`gorm:“非空;”`
ApellidoPaterno字符串`gorm:“非空;”`
ApellidoMaterno字符串`gorm:'notnull;'`
电子邮件字符串`gorm:“不为空;”`
密码字符串`gorm:“不为空;”`
Provincia[]Provincias`gorm:“许多:Provincias_personas;”`
大学学院
}
类型UnidadesAcademicas结构{
戈姆模型
Idregistro uint`gorm:“非空;唯一索引;自动递增”`
Nombre string`gorm:“非空”`
Persona[]Personas`gorm:“外国钥匙:大学学院”`
}
类型Provincias结构{
戈姆模型
Idregistro uint`gorm:“非空;唯一索引;自动递增”`
Nombre string`gorm:“非空”`
}
我的发帖方法:

err:=json.NewDecoder(request.Body).Decode(&data)
如果出错!=零| | len(数据)==0{
result.Status=http.StatusBadRequest
result.Success=false
result.Message=“Los datos enviados no son válidos。”
result.Error=err
result.Data=“”
response.WriteHeader(http.StatusBadRequest)
}否则{
err=conn.Create(&data)。错误
如果错误!=零{
result.Error=err
result.Status=http.StatusUnprocessableEntity
result.Message=“没有新的登记册。修订环境数据。”
result.Success=false
response.WriteHeader(http.StatusUnprocessableEntity)
}否则{
result.Status=http.StatusOK
result.Success=true
结果.Message=“Se ha creado un nuevo registro de forma SUTTISFACTORIA”
result.Error=nil
结果.数据=数据
response.WriteHeader(http.StatusOK)
}
}
正文请求:

[{“idregistro”:0,
“名字”:“胡安”,
“阿佩利多帕特诺”:“佩雷斯”,
“apellidomaterno”:“Quiroz”,
“电子邮件”:“胡安。perez@hotmail.com",
“密码”:“12345”,
“省”:[
{“idregistro”:1,
“nombre”:“Guayas”}
],
“大学学院”:1
}]
当我将该JSON发送到服务器时,出现以下错误:

在“provincias_personas”(“personas_id”,“provincias_id”)中插入冲突上的值(3,0)不起任何作用
我知道这个错误是由“0”引起的;在postgres序列中,起始值为1,但GORM方法“Create”从不替换它,始终将其置为“0”;这将导致外键冲突错误

我该怎么办