gpt4 book ai didi

python - 使用动态属性名称调用 GAE NDB 查询

转载 作者:行者123 更新时间:2023-11-28 22:46:20 25 4
gpt4 key购买 nike

Google AppEngine NDB 查询是奇怪的野兽。假设我有一个 Car
类(和 ndb 实体)具有颜色和重量属性。我能做到

Car.query(Car.color == "blue")

我从未见过任何关于这种“函数调用”的 Python 2 文档。传递了多少参数?逻辑上应该是一个那是一个 bool 值,但显然“查询”可以找出来源该参数的代码并获取 Car.color、== 和“blue”。开发人员是否可以定义这些功能,或者这是一些编译器 hack?

我真正的问题是我有一个用户输入对话框类的字段(在本例中为“汽车”)属性(在本例中为“颜色”)和值(在本例中为“蓝色”)。我如何构建和调用采用这些输入的查询?

最佳答案

这是由 python 完成的 magic methods ,您的示例使用 __eq__

要构造一个查询,您可以使用这样的东西:

Car.query(getattr(Car, 'color') == 'red')

务必通过调用hasattr(Car, 'color')检查属性是否存在

关于python - 使用动态属性名称调用 GAE NDB 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27596826/

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