Как определить функцию внутри модели flask и использовать ее для переменной - PullRequest
0 голосов
/ 18 июня 2020

Вот мой фрагмент кода для определения функции внутри модели flask, и я хочу использовать вывод функции в качестве значения по умолчанию для переменной (созданной).

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 в created. Это дает мне эту ошибку

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

Я даже пробовал это без себя. Я не уверен, следует ли мне использовать для этого метод stati c или метод класса.

1 Ответ

0 голосов
/ 18 июня 2020

Я не могу проверить это, чтобы подтвердить, но это должно быть с self. и без ()

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

Если вы запустите с (), тогда эта функция будет запущена сразу при запуске и он будет назначать результат функции при запуске, и более поздний код всегда будет использовать одно и то же значение.

...