首页 > 解决方案 > 如何将 Peewee ORM 放在一个类中?

问题描述

是否可以在一个类中完全运行 Peewee ORM?Peewee 的最简单示例如下所示:

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()

    class Meta:
        database = db # This model uses the "people.db" database.

但是我想将所有内容(甚至更多的加载和保存方法)封装在一个类中。我的失败代码目前如下所示:

from peewee import *

class Database():
    def __init__(self, DatabaseFile = 'test.sqlite'):
        self.db = SqliteDatabase('people.db')

    class Person(self, Model):
        name = CharField()
        birthday = DateField()

        class Meta:
            database = self.db 
    
    # def put(self, data):...
    # def get(self, data):...

    # def CloseDatabase(self):
    #  self.db.close()

但这会引发一个错误,即 Meta 类中的 self 未定义。我现在有点迷失如何解决这个问题,所以任何帮助表示赞赏。

标签: pythonclassoopormpeewee

解决方案


推荐阅读