尝试运行此代码时出现此错误:
query = delete(BannerLocalization).where(
BannerLocalization.locale == locale,
BannerLocalization.id == pk,
BannerLocalization.banner_id.in_(
select(
Banner.id
).join(
BannerLocalization
).where(
BannerLocalization.locale == locale,
BannerLocalization.id == pk,
Banner.banner_type == BannerTypesEnum.EVENT
)
)
)
sqlalchemy.exc.InvalidRequestError:无法评估Python中的当前条件:“无法评估Select”。为synchronize_session执行选项指定“fetch”或False。
有人知道出了什么问题吗?
我已经解决了这个问题:
设置
execution_options=immutabledict({"synchronize_session": 'fetch'})
到session.execute
工作变体如下所示:
from sqlalchemy.util import immutabledict
await session.execute(
query,
execution_options=immutabledict(
{"synchronize_session": 'fetch'}
)
)