0

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

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

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

4

1 回答 1

1

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

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

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

表名不是继承的,因为大概你只想要一个表一个类,而数据库继承的,因为只声明一次是有意义的。

于 2021-01-28T01:25:41.183 回答