我正在使用flask-sqlalchemy和flask-marshmallow开发一个简单的rest api。
对于PUT方法,我有以下数据:-
{ "childlist" : [
{
"childfield1" : "Value1", --> field of related table
"childfield2" : "Value2" --> field of related table
}
],
"parentprimarykey1": "VAL1", --> this is the foreign key for child table
"parentfield2" : "VAL2",
"parentfield3" : "VAL3"
}
当我将此json传递到PUT方法并运行schema.load(request_data)时。 SQLAlchemy为子表运行一个Update SQL,试图用NULL更新外键。
为什么要触发更新语句来更新外键? 实施REST API更新的最佳方法是什么?
我的模型架构如下所示 父
class Parent(db.Model):
all fields
childlist=db.relationship('Parent', backref=db.backref('parent', cascade='delete, all', lazy='joined'))
class ParentSchema(ma.ModelScema):
childlist=ma.Nested(child, many=True)
class Meta:
model=Parent
sqla_session=db.session
该行在视图中引发错误:- parent_schema.load(request_data)