在这里实际上没有必要使用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()等。这是更通用的方法,但是如果您愿意的话,当然可以使其仅返回单个实体。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)