python中嵌套类的Access变量
我正在使用Peewee和瓶子.py作为一个非常小的Web应用程序。偶尔我会遇到一个python中嵌套类的Access变量,python,mysql,nested-attributes,bottle,peewee,Python,Mysql,Nested Attributes,Bottle,Peewee,我正在使用Peewee和瓶子.py作为一个非常小的Web应用程序。偶尔我会遇到一个MySQLDatabase已经消失的错误,我的脚本似乎无法从中恢复 根据我的观点,我应该试着抓住错误并恢复自我。 我所拥有的一个例子: def create_db_con(): return peewee.MySQLDatabase("db_name", host="host", user="user", passwd="pass") class ModelObj(peewee.Model): #
MySQLDatabase已经消失的错误
,我的脚本似乎无法从中恢复
根据我的观点,我应该试着抓住错误并恢复自我。
我所拥有的一个例子:
def create_db_con():
return peewee.MySQLDatabase("db_name", host="host", user="user", passwd="pass")
class ModelObj(peewee.Model):
#some member ommited
class Meta:
database=create_db_con()
@route("/")
def index_htm():
try:
mo = ModelObj.filter(foo="bar")
catch OperationalError, oe:
ModelObj.Meta.database = create_db_con()
在发生操作错误时,为我提供AttributeError:
AttributeError:type对象“OrderProdukt”没有属性“Meta”
我该如何从这种情况中恢复过来
编辑:
正如univerio所指出的,我可以通过ModelObj.\u meta.database
访问它,但仅仅创建一个新的数据库似乎不起作用。
这是嵌套类的默认python行为吗?查看示例,它看起来像是
Meta
类被转换为ModelOptions
实例,可从ModelObj获得。\u Meta
。您尝试过ModelObj的实例吗?ModelObj().Meta.database