修复:强化装填事务一致性
This commit is contained in:
@@ -117,7 +117,7 @@ class MasterDao:
|
||||
) -> Any | None:
|
||||
statement = select(model).where(id_column == resource_id)
|
||||
if for_update:
|
||||
statement = statement.with_for_update()
|
||||
statement = statement.with_for_update().execution_options(populate_existing=True)
|
||||
result = await db.execute(statement)
|
||||
return result.scalar_one_or_none()
|
||||
|
||||
@@ -187,8 +187,20 @@ class MasterDao:
|
||||
return await cls._paginate(db, statement, query_object, is_page)
|
||||
|
||||
@classmethod
|
||||
async def get_strain(cls, db: AsyncSession, strain_id: int) -> BizStrain | None:
|
||||
return await cls._get(db, BizStrain, BizStrain.strain_id, strain_id)
|
||||
async def get_strain(
|
||||
cls,
|
||||
db: AsyncSession,
|
||||
strain_id: int,
|
||||
*,
|
||||
for_update: bool = False,
|
||||
) -> BizStrain | None:
|
||||
return await cls._get(
|
||||
db,
|
||||
BizStrain,
|
||||
BizStrain.strain_id,
|
||||
strain_id,
|
||||
for_update=for_update,
|
||||
)
|
||||
|
||||
@classmethod
|
||||
async def find_strain_by_code(cls, db: AsyncSession, strain_code: str) -> BizStrain | None:
|
||||
|
||||
Reference in New Issue
Block a user