Skip to content

主键

通过主键查询单条记录

select_model
from sqlalchemy_crud_plus import CRUDPlus

from sqlalchemy import Mapped, mapped_column
from sqlalchemy import DeclarativeBase as Base
from sqlalchemy.ext.asyncio import AsyncSession


class ModelIns(Base):
    # define your primary_key
    primary_key: Mapped[int] = mapped_column(primary_key=True, index=True, autoincrement=True)


class CRUDIns(CRUDPlus[ModelIns]):
    async def select(self, db: AsyncSession, pk: int) -> ModelIns:
        return await self.select_model(db, pk)

API

async def select_model(
    self,
    session: AsyncSession,
    pk: Any | Sequence[Any],
    *whereclause: ColumnExpressionArgument[bool],
) -> Model | None:

Parameters:

Name Type Description Default
session AsyncSession 数据库会话 必填
pk Any| Sequence[Any] 主键 必填
*whereclause ColumnExpressionArgument[bool] 等同于 SQLAlchemy where

Returns:

Type Description
TypeVar|None 模型实例