
github.com/miguelgrinberg/microblog/blob/master/app/models.py # line 19
全文搜索的类变量里,传的 cls 是什么意思?不是太理解:
class SearchableMixin(object): @classmethod def search(cls, expression, page, per_page): ids, total = query_index(cls.__tablename__, expression, page, per_page) if total == 0: return cls.query.filter_by(id=0), 0 when = [] for i in range(len(ids)): when.append((ids[i], i)) return cls.query.filter(cls.id.in_(ids)).order_by( db.case(when, value=cls.id)), total ...... 1 Trim21 2020-04-10 00:25:03 +08:00 这不是 flask 的内容,是 python 面向对象的内容 这个函数是一个 classmethod,cls 是调用这个方法的那个类,可能是 SearchableMixin,可能是某个继承了 SearchableMixin 的类 |
2 miniyao OP |
3 vivipure 2020-04-10 09:49:50 +08:00 我的理解就是 相当与 self |
4 shawndev 2020-04-10 09:57:04 +08:00 实例方法第一个参数是 self,类方法第一个参数是当前的类( class ) |
5 wuyifar 2020-04-10 11:24:32 +08:00 就跟 self 是一样的,self 是当前的实力对象,cls 是当前的类对象 |