flask-sqlalchemy和flask-棉花糖object.load对put方法中的外键运行更新命令

时间:2018-08-02 16:50:25

标签: flask-sqlalchemy

我正在使用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)

0 个答案:

没有答案