Flask Restless Versions Save

NO LONGER MAINTAINED - A Flask extension for creating simple ReSTful JSON APIs from SQLAlchemy models.

0.15.0

8 years ago
  • #320: detect settable hybrid properties instead of raising an exception.
  • #350: allows exclude/include columns to be specified as SQLAlchemy column objects in addition to strings.
  • #356: rollback the SQLAlchemy session on a failed patch request.
  • #368: adds missing documentation on using custom queries (see the "Custom queries" section of the documentation)

0.15.1

8 years ago
  • #367: catch IntegrityError, DataError, and ProgrammingError exceptions in all view methods.
  • #374: import sqlalchemy.Column from sqlalchemy directly, instead of sqlalchemy.sql.schema

0.16.0

8 years ago
  • #237: allows bulk delete of model instances via the allow_delete_many keyword argument.
  • #313, #389: APIManager.init_app now can be correctly used to initialize multiple Flask applications.
  • #327, #391: allows ordering searches by fields on related instances.
  • #353: allows search queries to specify group_by directives.
  • #365: allows preprocessors to specify return values on get requests.
  • #385: makes the include_methods keywords argument respect model properties.

0.17.0

8 years ago
  • Corrects bug to allow delayed initialization of multiple Flask applications.
  • #167: allows custom serialization/deserialization functions.
  • #198: allows arbitrary Boolean expressions in search query filters.
  • #226: allows creating APIs before initializing the Flask application object.
  • #274: adds the url_for function for computing URLs from models.
  • #379: improves datetime parsing in search requests.
  • #398: fixes bug where DELETE_SINGLE processors were not actually used.
  • #400: disallows excluding a primary key on a POST request.

1.0.0b1

8 years ago

This is a beta release; these changes will appear in the 1.0.0 release.

  • #255 adds support for filtering by PostgreSQL network operators.
  • #257: ensures additional attributes specified by the user actually exist on the model.
  • #363 (partial solution): don't use COUNT on requests that don't require pagination.
  • #404: Major overhaul of Flask-Restless to support JSON API.
  • Increases minimum version requirement for python-dateutil to be strictly greater than 2.2 to avoid parsing bug.
  • #331, #415: documents the importance of URL encoding when using the like operator to filter results.
  • #376: add a not_like operator for filter objects.
  • #431: adds a url_prefix keyword argument to the :class:APIManager constructor, so one can specify a URL prefix once for all created APIs.
  • #449: roll back the session on any SQLAlchemy error, not just a few.
  • #432, #462: alias relation names when sorting by multiple attributes on a relationship.
  • #436, #453: use __table__.name instead of __tablename__ to infer the collection name for the SQLAlchemy model.
  • #440, #475: uses the serialization function provided at the time of invoking APIManager.create_api to serialize each resource correctly, depending on its type.
  • #474: include license files in built wheel for distribution.
  • #501: allows empty string for url_prefix keyword argument to APIManager.create_api.
  • #476: use the primary key provided at the time of invoking APIManager.create_api to build resource urls in responses.