SQLAlchemy中选定特定列的标量不生效

0 投票
0 回答
18 浏览
提问于 2025-04-11 21:35

在写查询的时候,如果我只选择了特定的列,结果却只返回了我指定的第一个元素。也就是说,像这样的代码

query = select(self.model.name, self.model.price).join(CategoryRepository.model).join(
ImageRepository.model, is outer=True)
print((await self._session.scalars(query)).all())

返回的结果是 ['Shoes', 'Dress', 'Pendant'] - 只包含了名称,尽管 SQL 代码生成的结果是正确的。而当我调用执行的时候,一切又都正常了

print((await self._session.execute(query)).all())

返回的结果是 [('Dress', 350.0199890136719), ('Shoes', 300.04998779296875), ('Pendant', 99.98999786376953)]

0 个回答

暂无回答

撰写回答