Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用SQLAlchemy ORM(0.8)搜索HSTORE列的正确语法是什么?_Python_Sqlalchemy_Flask_Flask Sqlalchemy_Hstore - Fatal编程技术网

Python 使用SQLAlchemy ORM(0.8)搜索HSTORE列的正确语法是什么?

Python 使用SQLAlchemy ORM(0.8)搜索HSTORE列的正确语法是什么?,python,sqlalchemy,flask,flask-sqlalchemy,hstore,Python,Sqlalchemy,Flask,Flask Sqlalchemy,Hstore,我正在使用带有我的分机的烧瓶 我正在尝试搜索所有具有具有特定值的hstore密钥的记录 以下是该列的设置: from flask.ext.sqlalchemy import SQLAlchemy from sqlalchemy.dialects.postgresql import HSTORE from sqlalchemy.ext.mutable import MutableDict db = SQLAlchemy() class BookDB(db.Model): attrib

我正在使用带有我的分机的烧瓶

我正在尝试搜索所有具有具有特定值的hstore密钥的记录

以下是该列的设置:

from flask.ext.sqlalchemy import SQLAlchemy
from sqlalchemy.dialects.postgresql import HSTORE
from sqlalchemy.ext.mutable import MutableDict

db = SQLAlchemy()

class BookDB(db.Model):

    attributes = db.Column(MutableDict.as_mutable(HSTORE), nullable=False, default={ 'disabled' : '0'}, index=True)
下面是我正在运行的查询:

results = BookDB.query.filter_by(attributes={ 'disabled' : '0' }).all()
这样做没有错误,但没有发现任何结果

如果我这样做:

results = BookDB.query.filter_by(attributes['disabled']='0').all()
我得到错误:“SyntaxError:关键字不能是表达式”

如果我使用filter()而不是filter_by(),我可以

results = BookDB.query.filter(BookDB.attributes['disabled']=='0').all()
这样做效果很好,产生了正确的结果


但是它使用filter_by()的语法是什么?

filter_by
只是比较简单字段相等性时的一个方便快捷方式。它只接受关键字参数,因此只接受有效的Python名称。在这种情况下,使用
过滤器
是正确的