クエリは問題ないようで、ブール値をFalseにフィルタリングすると正常に動作しますが、クエリがブール値Trueを持つアイテムを返すと、 this 例外が発生します。
query = session.query(URL).filter_by(status_code=200,
content_type='text/html',
is_phish_whitelist=True,
is_phish_google_safebrowsing=None,
is_malware_google_safebrowsing=None)
Traceback (most recent call last):
File "/home/user/PycharmProjects/poc/collector/verify_googlesafe.py", line 25, in <module>
phish_urls = phish_query.all()
File "/home/user/Envs/poc/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 2237, in all
return list(self)
File "/home/user/Envs/poc/local/lib/python2.7/site-packages/sqlalchemy/orm/loading.py", line 72, in instances
rows = [process[0](row, None) for row in fetch]
File "/home/user/Envs/poc/local/lib/python2.7/site-packages/sqlalchemy/orm/loading.py", line 447, in _instance
populate_state(state, dict_, row, isnew, only_load_props)
File "/home/user/Envs/poc/local/lib/python2.7/site-packages/sqlalchemy/orm/loading.py", line 301, in populate_state
populator(state, dict_, row)
File "/home/user/Envs/poc/local/lib/python2.7/site-packages/sqlalchemy/orm/strategies.py", line 150, in fetch_col
dict_[key] = row[col]
ValueError: int_to_boolean only accepts None, 0 or 1
編集:
C 拡張機能なしで SQLAlchemy をインストールしましたが、すべてが正常に機能したため、C 拡張機能のバグのようです。私はこれを彼らに報告し、彼らの言うことを見ていきます。
pip install --global-option='--without-cextensions' SQLAlchemy