玩蛇网提供最新Python编程技术信息以及Python资源下载!

Python类实例内部得到并使用实例所在类名字或者类本身方法

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

sqlalchemy

class 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

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

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19173.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月21日 - 20时35分20秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules