Python Pony ORM在创建数据库之前定义实体子类

Python Pony ORM在创建数据库之前定义实体子类,python,inheritance,orm,pony,ponyorm,Python,Inheritance,Orm,Pony,Ponyorm,我正在创建一个包含Bot类的库。我希望它能够在小马orm的帮助下在sql数据库中存储消息、日志和一些其他信息。这个想法是让机器人接受到数据库的路径,并创建它,或者连接到它(如果它已经存在) 遗憾的是,对于pony,我似乎只能在创建数据库对象之后定义类,需要从database.Entity类继承来将我的类绑定到数据库 显而易见的解决方案是在创建数据库后在Bot类构造函数中定义所有类,但就结构而言,这似乎相当难看,因为我计划这些类相当大,并且希望将它们存储在单独的文件中 另一种假设方法是执行以下操作

我正在创建一个包含Bot类的库。我希望它能够在小马orm的帮助下在sql数据库中存储消息、日志和一些其他信息。这个想法是让机器人接受到数据库的路径,并创建它,或者连接到它(如果它已经存在)

遗憾的是,对于pony,我似乎只能在创建数据库对象之后定义类,需要从database.Entity类继承来将我的类绑定到数据库

显而易见的解决方案是在创建数据库后在Bot类构造函数中定义所有类,但就结构而言,这似乎相当难看,因为我计划这些类相当大,并且希望将它们存储在单独的文件中

另一种假设方法是执行以下操作(但我不知道是否支持该功能):

另一种可能的假设方式是,如果我可以从Database.Entity继承

有什么想法吗?也许我可以用另一种类似SQLAlchemy的ORM来实现这一点

from pony import orm

class Message(orm.Entity): 
  text = orm.Required(unicode)

class Database(orm.Database):
  def __init__(self, path):
    # super(..).__init__(..)
    # bind Message to self

class Bot(object):
  def __init__(self, path):
    self.database = Database(path)