首页 > 解决方案 > 如何在类之间共享变量?

问题描述

我有 2 个类,它们要求另一个类要么运行一个函数,要么相互调用一个对象。问题是一个对象“未定义”导致另一个对象无法运行该功能。这会引发异常并使其恢复为我想要更新的默认值。似乎是先有鸡还是先有蛋的问题,但我确信这在 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将用于初始设置表单中的值,并在用户提交表单后更新这些值。

我该如何解决这个问题?

标签: pythondjango

解决方案


推荐阅读