Python类实例内部得到并使用实例所在类名字或者类本身方法,python实例,如何在一个 python


如何在一个 python 类实例内部得到并使用实例所在的类的名字或者类本身?

sqlalchemyclass Article(db.Model):    __tablename__ = 'articles'    @property    def count(self):        result = db.session                   .query(??, Association)                   .filter(??.id == Association.article_id)                   .filter(??.id = self.id)                   .count()        return result

?? 这个地方换成 Article 本身,应该使用什么方式得到类的名字??

这段代码如果放在 controller 里面大致是这样:

session.query(Article, Association)       .filter(Article.id == Association.article_id)       .filter(Article.id == 4)       .count()

想把他放到 Model 里面

self.__class__, self.__class__.__name__

如果只是 class 内使用 class 本身,那么可以用 classmethod 方法包装。大概代码如下:

class Article(db.Model):    __tablename__ = 'articles'    @classmethod    def count(cls, id):        result = db.session                   .query(cls, Association)                   .filter(cls.id == Association.article_id)                   .filter(cls.id = id)                   .count()        return result

没有测试过,题主可以自己测下

编橙之家文章,

评论关闭