如何在类之间共享变量?

2024-10-01 09:34:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个类,需要另一个运行函数或从另一个调用对象。问题是其中一个的对象“未定义”,导致另一个无法运行该函数。这将引发异常并使其恢复为我要更新的默认值。看起来像是一个鸡和蛋的问题,但我相信这在Python中是正常的,我只是不知道如何解决它。你知道吗

class CreateSettings:

    def __init__(self, name, default):
        self.name = name
        self.default = default

    def getvalue(self):
        print(float(Settings.objects.values(
                str(self.name)).last().get(str(self.name))))
        try:
            self.default = float(Settings.objects.values(
                str(self.name)).last().get(str(self.name)))
            return self.default
        except (NameError, AttributeError):
            return self.default


man_serv_bonus_default = CreateSettings('manager_service_bonus_max', 300.00)


class Settings(models.Model):

    manager_service_bonus_max = models.CharField(
        max_length=16, default=man_serv_bonus_default.getvalue())

Settings类由用户通过表单更新设置。CreateSettings类将用于初始设置表单中的值,并在用户提交表单后更新值。你知道吗

我该怎么办?你知道吗


Tags: 对象函数nameselfdefault表单settingsdef