PeeWee之上的Python数据抽象

PeeWee之上的Python数据抽象,python,orm,dao,dto,peewee,Python,Orm,Dao,Dto,Peewee,这更像是一个一般性的问题,但我正试图在Peewee上使用Python作为ORM来实现这一点。从python程序中抽象DB的一种体面的OO方式是什么 在Peewee中,定义了继承自Peewee.Model并将Peewee字段作为属性的类。例如: class Person(peewee.Model): class Meta: database = db name = peewee.TextField() height = peewee.DecimalFiel

这更像是一个一般性的问题,但我正试图在Peewee上使用Python作为ORM来实现这一点。从python程序中抽象DB的一种体面的OO方式是什么

在Peewee中,定义了继承自Peewee.Model并将Peewee字段作为属性的类。例如:

class Person(peewee.Model):
    class Meta:
        database = db

    name = peewee.TextField()
    height = peewee.DecimalField()
在OO实现中,我们希望有诸如grow(size)、die()等方法,。。成为对象的一部分。最好在这些Peewee模型之上构建一个类来包含这样的功能,还是应该将其放在模型本身中


我记得在一个JavaEE程序中,我们曾经有一个DAO(数据访问对象)和DTO(数据传输对象)。peewee模型对象是DAO,还是两者都可以?这里是否可以应用某种模式?

Peewee是一种ActiveRecord ORM,因此数据访问和对象表示之间没有区别。这意味着当您执行查询时,数据将作为模型实例返回给您。考虑到这种情况,在模型本身上放置方法是很常见的,因为您无论如何都在使用它

是否要在模型之上构建服务层完全取决于您自己。如果您有相互依赖的模型,这可能是有意义的