gpt4 book ai didi

sql-server-2008 - Flask-SQLAlchemy .count() 和 .all() 的不同记录数

转载 作者:行者123 更新时间:2023-12-03 15:48:15 27 4
gpt4 key购买 nike

在 SQLAlchemy 中,ModelName.query.filter_by(field_name=value).count()返回正确的记录计数,但 ModelName.query.filter_by(field_name=value).all()只返回一条记录。做一个 db.session.execute("SELECT * FROM table_name WHERE field_name = 'value'")工作正常。有没有人遇到过类似的问题?有谁知道什么可能是错误的。任何指针都会有所帮助。

可能有用的信息
我正在使用 MS SQL Server 2008 R2 并使用 FreeTDS/pyodbc 访问它。我不控制数据库,无法更改它。

提前致谢。

最佳答案

我想我可能陷入了同样的问题。我的查询执行多个连接,而不是原始结果可以带回同一主键的多行,每一行都由 .count() 计数,但是当您调用 .all() 时,主键上应用了一个不同的并且只有唯一的获取行,而不是 .all() 列表上的记录数与 .count() 不同。

这应该是相等的:

query.distinct().count() == query.all()

此致

关于sql-server-2008 - Flask-SQLAlchemy .count() 和 .all() 的不同记录数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17083628/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com