如何在Strapi中张贴带有fk数据的记录



我在尝试POST新记录时遇到问题。

我有一个遗留的应用程序,我正在使用Strapi,所以我没有让Strapi创建表,它只是使用DDBB上的内容。

这是一个集合类型:(enfermedadrepetition((转到repetition_id(

{
"kind": "collectionType",
"connection": "atdbconnection",
"collectionName": "enfermedadrepeticion",
"info": {
"name": "RepeticionEnfermedad"
},
"options": {
"increments": false,
"timestamps": false
},
"attributes": {
"valor": {
"type": "decimal"
},
"enfermedad_id": {
"type": "integer"
},
"valor_1": {
"type": "string"
},
"valor_2": {
"type": "string"
},
"fechaTomaDato": {
"type": "string"
},
"repeticion_id": {
"via": "repeticion_enfermedads",
"model": "repeticion"
}
}
}

这就是模型";重复"。。。去参加比赛。。。

{
"kind": "collectionType",
"connection": "atdbconnection",
"collectionName": "repeticiones",
"info": {
"name": "Repeticion"
},
"options": {
"increments": false,
"timestamps": false
},
"attributes": {
"activa": {
"type": "boolean"
},
"altura": {
"type": "string"
},
"linea_id": {
"model": "linea"
},
"ensayo_id": {
"type": "integer"
},
"esp": {
"type": "string"
},
... bunch of fields ...
"repeticion_enfermedads": {
"collection": "repeticion-enfermedad",
"via": "repeticion_id"
}
}
}

我的关系是:通过repetition_id字段,一个Repetition有0或N个repetition enfermed。

使用这种关系,当我从";Repetition";我得到一个或多个";Repetition Enfermedad";。

因此,当我需要更新"中的una条目时;Repetition Enfermedad";我把数据放在这个主体上:

body {
enfermedad_id: 1,
fechaTomaDato: '2021-05-05 03:29:29',
fechaUltCambio: '2021-05-05 03:29:29',
repeticion_id: { id: 392571 },
valor: 60,
valor_1: '60',
valor_2: 'S'
}

一切都很好!!

但是,当我尝试使用POST创建具有相同主体的记录时,我会得到500个错误。

错误错误:ER_NO_DEFAULT_FOR_FIELD:字段"repetition_id"没有默认值

我试图用Swagger发送身体,但我得到了同样的错误。

我尝试,发送";repetition_id";字段,使用整数、字符串、对象等,但我无法使其工作。。。

我的Strapi版本是3.0.6我真的不想改变模型的定义,它运行得很好。。。

有什么建议吗??

致以最诚挚的问候

好的,我发现了问题。

与Strapi无关,我必须在RepetitionEnfermedad表中的字段中添加NOT NULL。看起来Strapi首先尝试在该表中创建一个记录,然后更新最近添加的记录。。。

我留下我的答案,以防有人遇到同样的问题。

焦!

最新更新