0

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

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'

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

4

1 回答 1

0

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

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

如果你运行,()那么它会在开始时立即运行这个函数,它会在开始时从函数中分配结果,以后的代码将始终使用相同的值。

于 2020-06-18T03:04:57.643 回答