![6d8ad508d7f1327c3ff5e6f74f31e430.png](https://i-blog.csdnimg.cn/blog_migrate/63de113715eee545a880aebf47cb0d93.jpeg)
原文:https://docs.sqlalchemy.org/en/13/orm/extensions/declarative/mixins.html
Superset/models/core.py里面,Database的定义:
class Database(Model, AuditMixinNullable, ImportMixin):
"""An ORM object that stores Database related information"""
Mixin是SQLAlchemy的一个概念,给我的感觉,有点像C++的Helper继承。在业务逻辑之外的一些辅助功能,会做到Helper类里面,然后在class树的顶层,就把Helper当成基类的多重继承来源。
Helper和一般C++入门的书里面讲的多重继承的不同在于,Helper的定位是辅助工具,和“主”基类互补。“主”基类定义概念用的(用抽象类声明一组接口),Helper类共享函数实现用的。
以下为官方文档的翻译,不当之处,敬请指正:
SQLAlchemy的Declarative体系的,通常被用于在一些类之间共享某些功能。例如一组公共列