【问题标题】:Peewee Meta class inherencePeewee 元类继承
【发布时间】:2021-05-01 12:29:27
【问题描述】:

我正在努力解决以下问题:

from my_db_definition import db
from peewee import *
class A(Model):
    class Meta:
        database=db
        table_name = 'random'
        
class B(A):
    pass

运行时

print(A._meta.table_name)
print(B._meta.table_name)
random
b

我现在的问题是,为什么在这种情况下更改了表名,这可以防止吗?我完全糊涂了

【问题讨论】:

    标签: orm peewee flask-peewee


    【解决方案1】:

    http://docs.peewee-orm.com/en/latest/peewee/models.html#model-options-and-table-metadata

    文档列出了哪些选项是继承的,哪些不是。

    只有某些属性通过内部“元”类传递给子类。它的目的是 1) 命名空间,以及 2) 围绕 DRY 代码提供约定。

    表名没有被继承,因为您可能只希望每个表有一个类,而数据库继承,因为只声明一次是有意义的。

    【讨论】:

      猜你喜欢
      • 2014-04-30
      • 2019-02-05
      • 2020-03-19
      • 2016-09-21
      • 2016-07-19
      • 2010-12-21
      • 2012-08-20
      • 2021-03-22
      • 1970-01-01
      相关资源
      最近更新 更多