Allow to refresh existing Models fields from database. Be careful as the related models can be overwritten by pk_only models in load. Does NOT refresh the related models fields if they were loaded before. :raises NoMatch: If given pk is not found in database.
(self: T)
| 343 | return result |
| 344 | |
| 345 | async def load(self: T) -> T: |
| 346 | """ |
| 347 | Allow to refresh existing Models fields from database. |
| 348 | Be careful as the related models can be overwritten by pk_only models in load. |
| 349 | Does NOT refresh the related models fields if they were loaded before. |
| 350 | |
| 351 | :raises NoMatch: If given pk is not found in database. |
| 352 | |
| 353 | :return: reloaded Model |
| 354 | :rtype: Model |
| 355 | """ |
| 356 | expr = self.ormar_config.table.select().where(self.pk_column == self.pk) |
| 357 | row = await self._execute_query(expr, is_select=True) |
| 358 | if not row: # pragma nocover |
| 359 | raise NoMatch("Instance was deleted from database and cannot be refreshed") |
| 360 | kwargs = dict(row) |
| 361 | kwargs = self.translate_aliases_to_columns(kwargs) |
| 362 | self.update_from_dict(kwargs) |
| 363 | self.set_save_status(True) |
| 364 | self.__setattr_fields__.clear() |
| 365 | return self |
| 366 | |
| 367 | async def load_all( |
| 368 | self: T, |