Python中缺少动态查找器和方法

Python中缺少动态查找器和方法,第1张

Python中缺少动态查找器和方法

在这里实际上没有必要使用GQL-这只会使事情变得复杂。这是一个简单的实现:

class FindableModel(db.Model):  def __getattr__(self, name):    if not name.startswith("find_by_"):      raise AttributeError(name)    field = name[len("find_by_"):]    return lambda value: self.all().filter(field, value)

注意,它返回一个查询对象,您可以调用.get()、. fetch()等。这是更通用的方法,但是如果您愿意的话,当然可以使其仅返回单个实体。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存