我有两个模型:ArticleModel
和TagModel
和May-To-Many
之间的关系。我将marshmallow
用于[反序列化]。>
我想更新或创建ArticleModel
实例,并希望从front-end
以下数据获取
{ 'title': 'article', 'tags': [1, 2, 4] // ids of TagModel instances }
我同意了
schemas
class ArticlePutPostSchema(Schema): tags = fields.List(fields.String())
view
def post(self): json_data = request.get_json() data = ArticlePutPostSchema().load(data=json_data, partial=True) data["tags"] = list( TagModel.query.filter(TagModel.id.in_(data["tags"])) ) article = ArticleModel(**data) db.session.add(article) db.session.commit() return jsonify(), 200
但是我认为这是不好的方法。
我也尝试应用Pluck
字段
Pluck
我得到了
Pluck(TagSchema, 'id', many=True)
。
这也是一种不好的方法。
如何解决?
我有两个模型:ArticleModel和TagModel,它们之间存在May-To-Many关系。我使用棉花糖进行[反序列化]。我想更新或创建ArticleModel实例,并且想从前面获得......
执行此操作的一种好方法是按照[{'id': 1, 'id': 2, 'id': 4}]
的描述在ArticlePutPostSchema中定义嵌套模式。