使用dateTime.utcnow()在Blask-sqlalchemy中设置默认值



使用以下代码,我打算将dateTime.utcnow((值用作该字段的默认值,但是它给出了一个属性错误消息,该消息说" sqlalchemy"对象没有属性" dateTime"

from flask import Flask, flash, render_template, redirect, request, url_for
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///HRS.sqlite3'
app.config['SECRET_KEY'] = 'any key'
db = SQLAlchemy(app)
class Treatment(db.Model):
    treatmentDate = db.Column('Date of treatment', db.Datetime, default=datetime.utcnow())

在代码中,评论已经说了什么:

# rest stays the same
class Treatment(db.Model):
    treatmentDate = db.Column('Date of treatment', db.DateTime, default=datetime.utcnow)

"传递函数而不是调用"是指在结束时离开括号((。像您这样做一样调用功能实际上会传递到DateTime对象中,但是您想要的是在创建一个新的治疗实例时将功能本身作为默认值传递。

最新更新