MCPcopy Index your code
hub / github.com/piccolo-orm/piccolo / run

Method run

piccolo/query/methods/objects.py:248–284  ·  view source on GitHub ↗
(
        self,
        node: Optional[str] = None,
        in_pool: bool = True,
    )

Source from the content-addressed store, hash-verified

246 self.foreign_key = foreign_key
247
248 async def run(
249 self,
250 node: Optional[str] = None,
251 in_pool: bool = True,
252 ) -> Optional[ReferencedTable]:
253 if not self.row._exists_in_db:
254 raise ValueError("The object doesn't exist in the database.")
255
256 root_table = self.row.__class__
257
258 data = (
259 await root_table.select(
260 *[
261 i.as_alias(i._meta.name)
262 for i in self.foreign_key.all_columns()
263 ]
264 )
265 .where(
266 root_table._meta.primary_key
267 == getattr(self.row, root_table._meta.primary_key._meta.name)
268 )
269 .first()
270 .run(node=node, in_pool=in_pool)
271 )
272
273 # Make sure that some values were returned:
274 if data is None or not any(data.values()):
275 return None
276
277 references = cast(
278 type[ReferencedTable],
279 self.foreign_key._foreign_key_meta.resolved_references,
280 )
281
282 referenced_object = references(**data)
283 referenced_object._exists_in_db = True
284 return referenced_object
285
286 def __await__(
287 self,

Callers 2

__await__Method · 0.95
run_syncMethod · 0.95

Calls 7

selectMethod · 0.80
runMethod · 0.45
firstMethod · 0.45
whereMethod · 0.45
as_aliasMethod · 0.45
all_columnsMethod · 0.45
valuesMethod · 0.45

Tested by

no test coverage detected