我正在使用 flask-marshmallow 包HyperlinkRelatedField
,并想知道是否可以使用提供的字段之一(来自 flask marshmallow 或 marshmallow like 的字段HyperlinkRelatedField
)动态添加查询字符串参数。我要这个:
/api/v1/cars?manufacturer=12
其中查询字符串中的制造商 ID 是序列化对象的 ID,汽车是超链接相关字段。我正在使用扁平化 API,因此需要通过过滤来完成具有多种关系的字段链接所以这将类似于 Schema(这不起作用,但我希望实现的一个示例):
class ManufacturerSchema(ma.ModelSchema):
cars = HyperlinkRelated('api.carslist', params={'manufacturer': '<id>'})
class Meta:
model = Manufacturer
sqla_session = db.session
在哪里:
manufacturer = Manufacturer.query.get(1) # ID is 1
ms = ManufacturerSchema()
ms.dump(manufacturer)
将返回:
{
...
'cars': '/api/v1/cars?manufacturer=1',
...
}
我将如何实现这一目标?是否可以使用提供的 Marshmallow/Flask-Marshmallow Fields,或者我必须继承 HyperLinkRelated 或 Field?