我正在尝试获取给定字符串所在的结果address
列表models.Listing.address
。我目前的代码是:
@app.route('/search/<address>')
def search(address):
results = models.Listing.select().where(address << models.Listing.address)
return render_template('search.html', results=results)
例如,我可能会传入39 Main Road
并希望它选择39 Main Road
给定列表的地址字段中的记录(完整地址为39 Main Road RICHMOND, NSW, Australia
)
但是,我当前的代码错误是:TypeError: unsupported operand type(s) for <<: 'str' and 'CharField'
我已经尝试转换models.Listing.address
为 str 但这只是返回unsupported operand type(s) for <<: 'str' and 'str'
我会使用address in models.Listing.address
,但根据文档和这个答案,使用<<
运算符是必要的。
此外,我尝试使用address.in_(models.Listing.address)
哪个字符串不具有...的属性
是因为我没有将 CharField 与 CharField 进行比较吗?如果是这样,我如何将字符串与 CharField 进行比较?我尝试将 CharField 更改为字符串,但我不能in
与 peewee 一起使用,因为正如@coleifer 在此答案的评论中所说:
Python 总是将返回值强制为
x in y
布尔值,因此必须使用<<
运算符。
提前致谢!