Я делаю APi, используя Flask, SQLAlchemy и Marshmallow.
Модель определена, и база данных заполнена данными и при попадании в представление. Я получаю все поля JSON content от NonProfitSchema
.
class NonprofitSchema(ma.ModelSchema):
class Meta:
model = Nonprofit
# To specialize fields something like so
fields = ('id', 'name', 'ein', 'ico', 'street', 'city', 'state', 'zipcode', 'group', 'subsection', 'affiliation', 'classification', 'ruling',
'deductability', 'foundation', 'activity', 'organization', 'status', 'tax_period', 'asset_cd','income_cd', 'filing_req_cd', 'pf_filing_req_cd',
'acct_pd', 'asset_amt', 'income_amt', 'revenue_amt', 'ntee', 'sort_name', 'activity_full')
Я пытался создать из этого новую схему и вернуть только подмножество данных с таким значением ниже
class AddressSchema(NonProfitSchema):
from marshmallow import fields
address = fields.Nested(NonprofitSchema(only=("street", "city", "state", "zipcode",)))
В моем файле view.py маршруты были настроены так:
@api_blueprint.route("/api/orgs/id/<int:id>/", methods=["GET"]) def get_org_by_id(id):
org = Nonprofit.query.get(id)
return npschema.jsonify(org)
@api_blueprint.route("/api/orgs/address/<int:id>/", methods=["GET"]) def get_org_by_id_address(id):
org = Nonprofit.query.get(id)
return addyschema.jsonify(org)
Однако при доступе к ним в браузере. Они оба возвращают одну и ту же вещь, то есть всю модель базы данных NonprofitSchema
Я полагаю, что невозможно сделать подмножества данных со Схемой, верно?