在python中访问嵌套类的变量

时间:2014-05-15 00:56:03

标签: python mysql nested-attributes bottle peewee

我正在使用Peewee和bottle.py作为一个非常小的WebApp。偶尔我得到一个MySQLDatabase has gone away Error,我的脚本似乎无法恢复。

根据this answer,我应该尝试捕捉错误并恢复自己。 我的一个例子:

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()
在出现OperationalError时,

给出了AttributeError:

AttributeError: type object 'OrderProdukt' has no attribute 'Meta'

我应该如何从这种情况中恢复?

修改 正如univerio指出的那样,我可以通过ModelObj._meta.database访问它,但它似乎不能只是创建它。 这是嵌套类的默认python行为吗?

0 个答案:

没有答案