如何从烧瓶 wtform 中获取时间间隔?

How do I get a time interval from a flask wtform?

我希望用户能够在表单中输入类似“8 分 30 秒”甚至“8:30”的内容。然后我希望能够将其作为 INTERVAL 数据类型存储在 PostgreSQL 数据库中。

看起来您可以区分两个日期时间,但我想知道用户是否可以手动输入时间间隔?

class Run(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    distance = db.Column(db.Float)
    time = db.Column(db.Interval)

class RunForm(FlaskForm):
    distance = FloatField('Distance', validators=[DataRequired()])
    time = ???

一种简洁的方法是将数据存储为整数,表示以秒或分钟为单位的间隔。您在保存时计算存储间隔,然后在需要显示它时,将存储的整数转换为适当的格式。这相当于您通常总是以 UTC 存储日期,然后在适当的时区显示它们。