在 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()
此致
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)