Peewee Meta class 内在
Peewee Meta class inherence
我正在努力解决以下问题:
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
我现在的问题是,为什么在这种情况下更改了 table 名称,这是否可以避免?我完全糊涂了
http://docs.peewee-orm.com/en/latest/peewee/models.html#model-options-and-table-metadata
文档列出了哪些选项是继承的,哪些不是。
只有某些属性通过内部“元”class 传递给子class。它的目的是 1) 命名空间,以及 2) 提供关于 DRY 代码的约定。
table 名称未被继承,因为大概您只想要一个 class-per-table,而数据库 是 继承的,因为它只声明一次是有意义的。
我正在努力解决以下问题:
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
我现在的问题是,为什么在这种情况下更改了 table 名称,这是否可以避免?我完全糊涂了
http://docs.peewee-orm.com/en/latest/peewee/models.html#model-options-and-table-metadata
文档列出了哪些选项是继承的,哪些不是。
只有某些属性通过内部“元”class 传递给子class。它的目的是 1) 命名空间,以及 2) 提供关于 DRY 代码的约定。
table 名称未被继承,因为大概您只想要一个 class-per-table,而数据库 是 继承的,因为它只声明一次是有意义的。