我试着按月使用吉诺过滤用户
cur_month_users = await User.query.where(User.birth_date.month==12).gino.all()但这是行不通的,因为:
AttributeError:“列”对象和“比较器”对象都没有属性“月份”
我的带有日期列的简单模型
class User(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer(), primary_key=True)
discord_id = db.Column(db.Integer())
user_name = db.Column(db.Unicode())
birth_date = db.Column(db.Date())
@property
def month_and_day(self):
return self.birth_date.strftime(format="%d.%m")
def __str__(self):
return self.user_name我该如何解决我的问题?
发布于 2022-01-15 21:00:35
我不知道gino,但是在标准sqlalchemy (和sql)中,您不能直接在查询中获得从日期开始的月份。您应该使用从日期开始提取月份的函数,如date_part
from sqlalchemy import func
cur_month_users = await User.query.where(
func.date_part('month', User.birth_date) == 12
).gino.all()https://stackoverflow.com/questions/70715995
复制相似问题