User類:
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(20), unique=True)
username = db.Column(db.String(30), unique=True)
password = db.Column(db.String(128))
create_time = db.Column(db.DateTime, nullable=False, default=datetime.utcnow, index=True)
查詢數據:
users = User.query.filter(db.cast(User.create_time , db.DATE) == db.cast(datetime.datetime.utcnow(), db.DATE)).all()
因爲對sqlalchemy不是太瞭解,就在網上找了上面的篩選方法,但是還是沒法過濾掉除今天以外的數據。這個真的頭大,於是又找了其他方法:
import datetime
from sqlalchemy import extract
today = datetime.datetime.utcnow()
users= User.query.filter(extract('year', User.create_time) == today.year,
extract('month', User.create_time) == today.month,
extract('day', User.create_time) == today.day).all()
完美解決。不知道是不是因爲數據庫的原因,我用的sqlite3,下面的方法可以,上面的不行,下次再用mysql試一下,先記錄一下。