THE ORIONIS API
Build with clarity.
Explore the building blocks of an async-first Python framework. Every module, class, and method — connected, searchable, and ready to build with.
class BelongsToRelation(Relation[
Constructor: BelongsToRelation(parent, related, foreign_key, owner_key)
Inverse relationship: the foreign key lives on the parent row.
Mirrors Eloquent's BelongsTo: for instance Post belongsTo User, where posts.user_id points back at users.id. Unlike hasOne/hasMany, the foreign key is read from the parent instance itself, never queried on the related table.
| Method | __init__ |
Bind the relationship. |
| Method | add |
Constrain the query to the row owning the parent's foreign key. |
| Method | add |
Constrain the query to the rows owning every child's foreign key. |
| Async Method | get |
Retrieve the owning row referenced by the parent's foreign key. |
| Method | match |
Attach the owning row to each child instance. |
| Class Variable | __slots__ |
Undocumented |
| Instance Variable | _eager |
Undocumented |
| Instance Variable | _foreign |
Undocumented |
| Instance Variable | _owner |
Undocumented |
Inherited from Relation:
| Class Method | no |
Build a relationship instance without its single-parent constraint. |
| Method | __await__ |
Allow await directly on a relationship without a terminal. |
| Async Method | get |
Execute the relationship query assembled for eager loading. |
| Instance Variable | _parent |
Undocumented |
Inherited from ModelQueryBuilder (via Relation):
| Method | __getattr__ |
Expose the local scopes declared by the bound model. |
| Method | _before |
Apply the global scopes and the soft delete filter once. |
| Method | _connection |
Resolve the database connection for the bound model. |
| Method | _default |
Return the column latest and oldest default to. |
| Async Method | _eager |
Resolve every pending eager-loaded relationship for a result set. |
| Method | _exists |
Return the projection used by existence probes. |
| Async Method | _fire |
Dispatch the retrieved event for freshly hydrated models. |
| Method | _prepare |
Refresh the update timestamp of a mass update payload. |
| Method | _relation |
Build the error message for an unresolvable relationship name. |
| Method | _serialize |
Apply the model casts before values reach the database. |
| Method | clone |
Return an independent copy of this builder. |
| Async Method | delete |
Delete the matched rows, honoring soft deletes when enabled. |
| Async Method | find |
Retrieve a model by its primary key. |
| Async Method | find |
Retrieve a model by primary key or raise when absent. |
| Async Method | first |
Execute the query and hydrate only the first matching row. |
| Async Method | first |
Return the first matching row or raise when none exists. |
| Async Method | force |
Delete the matched rows permanently, ignoring soft deletes. |
| Async Method | get |
Execute the query and hydrate every matching row. |
| Method | load |
Eager load the given relationships; alias of withRelations. |
| Method | only |
Restrict the query to soft deleted rows. |
| Async Method | paginate |
Execute the query returning a length-aware page of results. |
| Async Method | pluck |
Return one column of every matching row. |
| Async Method | restore |
Restore every soft deleted row matched by the query. |
| Method | scope |
Apply a local scope by name. |
| Async Method | value |
Return a single column value of the first matching row. |
| Method | without |
Disable one global scope for this query. |
| Method | without |
Disable several global scopes, or every one of them. |
| Method | without |
Exclude soft deleted rows; the default behavior. |
| Method | with |
Eager load the given relationships alongside the query. |
| Method | with |
Include soft deleted rows in the query results. |
| Instance Variable | _connection |
Undocumented |
| Instance Variable | _eager |
Undocumented |
| Instance Variable | _meta |
Undocumented |
| Instance Variable | _model |
Undocumented |
| Instance Variable | _scopes |
Undocumented |
| Instance Variable | _trashed |
Undocumented |
| Instance Variable | _without |
Undocumented |
Inherited from QueryBuilderBase (via Relation, ModelQueryBuilder):
| Static Method | _boundary |
Validate that a range condition carries exactly two boundaries. |
| Static Method | _materialize |
Materialize an iterable of bound values into a tuple. |
| Static Method | _normalize |
Validate and normalize a comparison operator. |
| Static Method | _resolve |
Normalize a join target into a TableDefinition. |
| Method | _add |
Append a comparison between two columns of the query. |
| Method | _add |
Append an EXISTS or NOT EXISTS condition. |
| Method | _add |
Append a join expression built from either calling convention. |
| Method | _add |
Append a set-membership condition backed by values or a subquery. |
| Method | _add |
Append a raw SQL condition to a clause list. |
| Method | _add |
Append a single-column condition of the given kind. |
| Method | _add |
Parse and append a condition to a clause list. |
| Async Method | _aggregate |
Execute an aggregate projection over the current plan. |
| Method | _nested |
Run a grouping callback and collect the conditions it declared. |
| Method | _new |
Create a sibling builder used for nested groups and subqueries. |
| Method | _paginator |
Wrap a page of results together with its pagination metadata. |
| Method | _resolve |
Normalize a subquery argument into a select plan. |
| Method | _shallow |
Build a twin of this builder still sharing its plan. |
| Method | add |
Append columns to the current projection. |
| Method | adopt |
Bind the builder to a named connection. |
| Method | adopt |
Replace the plan this builder assembles. |
| Async Method | avg |
Return the average value of a column among matching rows. |
| Async Method | count |
Count the rows matched by the query. |
| Method | cross |
Add a CROSS JOIN to the query. |
| Method | distinct |
Collapse duplicate rows from the query results. |
| Async Method | doesnt |
Report whether the query matches no rows. |
| Async Method | exists |
Report whether the query matches at least one row. |
| Method | for |
Limit the query to a single page of results. |
| Method | full |
Add a FULL OUTER JOIN to the query. |
| Method | group |
Add grouping columns to the query. |
| Method | having |
Add a post-grouping condition to the query. |
| Method | having |
Add a raw SQL post-grouping condition. |
| Async Method | insert |
Insert one or many rows into the target table. |
| Method | join |
Add an INNER JOIN to the query. |
| Method | join |
Join a subquery as a derived table with an INNER JOIN. |
| Method | latest |
Order the query by a timestamp column in descending order. |
| Method | left |
Add a LEFT OUTER JOIN to the query. |
| Method | left |
Join a subquery as a derived table with a LEFT OUTER JOIN. |
| Method | limit |
Limit the number of rows returned by the query. |
| Method | lock |
Lock the selected rows against concurrent writes. |
| Async Method | max |
Return the maximum value of a column among matching rows. |
| Async Method | min |
Return the minimum value of a column among matching rows. |
| Method | offset |
Skip the given number of rows before returning results. |
| Method | oldest |
Order the query by a timestamp column in ascending order. |
| Method | order |
Add an ordering rule to the query. |
| Method | or |
Add an OR-combined post-grouping condition to the query. |
| Method | or |
Add an OR-combined filtering condition. |
| Method | or |
Add an OR-combined comparison between two columns. |
| Method | or |
Add an OR-combined EXISTS condition. |
| Method | or |
Add an OR-combined set-membership condition. |
| Method | or |
Add an OR-combined NOT EXISTS condition. |
| Method | or |
Add an OR-combined set-exclusion condition. |
| Method | or |
Add an OR-combined IS NOT NULL condition. |
| Method | or |
Add an OR-combined IS NULL condition. |
| Method | or |
Add an OR-combined raw SQL condition. |
| Method | right |
Add a RIGHT OUTER JOIN to the query. |
| Method | right |
Join a subquery as a derived table with a RIGHT OUTER JOIN. |
| Method | select |
Restrict the query projection to the given columns. |
| Method | select |
Append a raw SQL fragment to the projection. |
| Method | select |
Append a scalar subquery to the projection under an alias. |
| Method | shared |
Lock the selected rows in shared mode. |
| Method | skip |
Skip the given number of rows; alias of offset. |
| Async Method | sum |
Return the sum of a column among matching rows. |
| Method | take |
Limit the number of rows returned; alias of limit. |
| Method | to |
Return the engine-agnostic plan assembled so far. |
| Method | union |
Append another query's rows, collapsing duplicates. |
| Method | union |
Append another query's rows, keeping duplicates. |
| Async Method | update |
Mass update the rows matched by the query. |
| Method | where |
Add an AND-combined filtering condition. |
| Method | where |
Filter rows whose column value lies between two boundaries. |
| Method | where |
Compare two columns of the query against each other. |
| Method | where |
Filter rows whose column value contains the given text. |
| Method | where |
Filter rows whose column value ends with the given text. |
| Method | where |
Keep rows for which a correlated subquery returns any row. |
| Method | where |
Filter rows matching a case-insensitive SQL LIKE pattern. |
| Method | where |
Filter rows whose column value belongs to the given set. |
| Method | where |
Filter rows whose column value matches an SQL LIKE pattern. |
| Method | where |
Filter rows whose column value lies outside two boundaries. |
| Method | where |
Keep rows for which a correlated subquery returns no row. |
| Method | where |
Filter rows not matching a case-insensitive SQL LIKE pattern. |
| Method | where |
Filter rows whose column value is outside the given set. |
| Method | where |
Filter rows whose column value does not match an SQL LIKE pattern. |
| Method | where |
Filter rows whose column value is not NULL. |
| Method | where |
Filter rows whose column value is NULL. |
| Method | where |
Add an AND-combined raw SQL condition. |
| Method | where |
Filter rows whose column value matches a regular expression. |
| Method | where |
Filter rows whose column value starts with the given text. |
| Instance Variable | _plan |
Undocumented |
Model, related: type[ TRelated], foreign_key: str | None, owner_key: str | None):
(source)
¶
orionis.orm.relations.Relation.__init__Bind the relationship.
| Parameters | |
parent:Model | Model instance the relationship is accessed from. |
related:type of Model | Model class the relationship targets. |
foreignstr or None | Column on the parent referencing the related row; defaults to snake_case(RelatedClass) + "_id". |
ownerstr or None | Column on the related table identifying the owning row; defaults to the related model's primary key. |
| Returns | |
None | This method does not return a value. |
Constrain the query to the row owning the parent's foreign key.
| Returns | |
None | This method does not return a value. |