如何在烧瓶模型中定义函数并将其用于变量

Posted

技术标签:

【中文标题】如何在烧瓶模型中定义函数并将其用于变量【英文标题】:How to define a function inside flask model and use it for a variable 【发布时间】:2020-10-07 23:47:31 【问题描述】:

这是我在烧瓶模型中定义函数的一段代码,我想将函数的输出用作变量的默认值(已创建)。

class Test(db.Document):
    def default_date(self):
        tz = pytz.timezone('Asia/Kolkata')
        return datetime.datetime.now()


    name = db.StringField(default="Anonymous")
    created = db.DateTimeField(default=default_date())

我无法在创建时使用 default_date 的输出。它给了我这个错误

TypeError: indian_date() missing 1 required positional argument: 'self'

我什至没有自我尝试过。我不确定是否应该为此使用静态方法或类方法。

【问题讨论】:

self.default_date - 带有self. 并且可能没有() 因为带有() 它将立即运行,它会在启动时将函数的结果分配为默认值并使用相同的值 all时间。 【参考方案1】:

我无法对其进行测试以确认,但它应该带有 self. 而没有 ()

created = db.DateTimeField(default=self.default_date)

如果您使用() 运行,那么它将在启动时立即运行此函数,并在启动时分配函数的结果,以后的代码将始终使用相同的值。

【讨论】:

以上是关于如何在烧瓶模型中定义函数并将其用于变量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ruby 中建立两个模型之间的模型关联。或者如何从一个模型中获取数据并将其用于另一个模型?

如何从widget的函数返回值,并将其传递给Tkinter,Python中的另一个小部件的函数

在烧瓶模板中呈现 html 字符串

如何在 Flask 中摄取实时数据并对其进行预测 [重复]

python中是如何实现将一个函数中定义的变量在另一个函数中改变其值的

如何保存图像分类模型并将其用于 android