| May | JUN | Jul |
| 16 | ||
| 2021 | 2022 | 2023 |
COLLECTED BY
Collection: Save Page Now Outlinks
UnmappedClassError is a class within the sqlalchemy.orm.exc module of the SQLAlchemy project.
NoResultFound
and
UnmappedInstanceError
are a couple of other callables within the sqlalchemy.orm.exc package that also have code examples.
# __init__.py import functools import os import sys import warnings from math import ceil from operator import itemgetter from threading import Lock from time import perf_counter import sqlalchemy from flask import _app_ctx_stack from flask import abort from flask import current_app from flask import request from flask.signals import Namespace from sqlalchemy import event from sqlalchemy import inspect from sqlalchemy import orm from sqlalchemy.engine.url import make_url from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import DeclarativeMeta from sqlalchemy.orm.exc import UnmappedClassError from sqlalchemy.orm.session import Session as SessionBase from .model import DefaultMeta from .model import Model __version__ = "3.0.0.dev" _signals = Namespace() models_committed = _signals.signal("models-committed") before_models_committed = _signals.signal("before-models-committed") def _make_table(db): def _make_table(*args, **kwargs): if len(args) > 1 and isinstance(args[1], db.Column): args = (args[0], db.metadata) + args[1:] info = kwargs.pop("info", None) or {} info.setdefault("bind_key", None) kwargs["info"] = info return sqlalchemy.Table(*args, **kwargs) return _make_table ## ... source file abbreviated to get to UnmappedClassError examples ... else: per_page = 20 items = self.limit(per_page).offset((page - 1) * per_page).all() if not items and page != 1 and error_out: abort(404) if not count: total = None else: total = self.order_by(None).count() return Pagination(self, page, per_page, total, items) class _QueryProperty: def __init__(self, sa): self.sa = sa def __get__(self, obj, type): try: mapper = orm.class_mapper(type) if mapper: return type.query_class(mapper, session=self.sa.session()) except UnmappedClassError: return None def _record_queries(app): if app.debug: return True rq = app.config["SQLALCHEMY_RECORD_QUERIES"] if rq is not None: return rq return bool(app.config.get("TESTING")) class _EngineConnector: def __init__(self, sa, app, bind=None): self._sa = sa self._app = app self._engine = None self._connected_for = None self._bind = bind self._lock = Lock() def get_uri(self): if self._bind is None: return self._app.config["SQLALCHEMY_DATABASE_URI"] ## ... source file continues with no further UnmappedClassError examples...
# utils.py import re import warnings from sqlalchemy.exc import ArgumentError from sqlalchemy.orm import class_mapper, object_mapper from sqlalchemy.orm.exc import UnmappedClassError, UnmappedInstanceError def get_session(context): return context.get("session") def get_query(model, context): query = getattr(model, "query", None) if not query: session = get_session(context) if not session: raise Exception( "A query in the model Base or a session in the schema is required for querying.\n" "Read more http://docs.graphene-python.org/projects/sqlalchemy/en/latest/tips/#querying" ) query = session.query(model) return query def is_mapped_class(cls): try: class_mapper(cls) except (ArgumentError, UnmappedClassError): return False else: return True def is_mapped_instance(cls): try: object_mapper(cls) except (ArgumentError, UnmappedInstanceError): return False else: return True def to_type_name(name): return "".join(part[:1].upper() + part[1:] for part in name.split("_")) _re_enum_value_name_1 = re.compile("(.)([A-Z][a-z]+)") _re_enum_value_name_2 = re.compile("([a-z0-9])([A-Z])") def to_enum_value_name(name): return _re_enum_value_name_2.sub( ## ... source file continues with no further UnmappedClassError examples...