SQLAlchemy Models¶
flarchitect builds APIs directly from your SQLAlchemy models. To expose a model:
Inherit from your configured base model.
Add a
Metainner class with at leasttagandtag_groupattributes for documentation grouping.Define your fields and relationships as you normally would; nested relationships are handled automatically.
Example:
class Author(BaseModel):
__tablename__ = "author"
class Meta:
tag = "Author"
tag_group = "People/Companies"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
That’s all that’s required to make the model available through the generated API.
Dump types¶
flarchitect can serialize model responses in different formats, controlled
by API_SERIALIZATION_TYPE or Meta.serialization_type. Supported dump
types are:
url(default) – represent related objects only by their URL links.json– embed related objects as JSON objects.dynamic– choose betweenurlandjsonusing thedumpquery parameter.hybrid– include both URL links and embedded JSON for related objects.
Example:
class Config:
API_SERIALIZATION_TYPE = "json"
Clients can override dynamic dumps per request with
?dump=url or ?dump=json.