在SQLAlchemy列属性内使用python date函数

问题描述 投票:2回答:1

我在SQLAlchemy中拥有这些模型。它定义了我的系统的一个简单操作,即按一个帐户喜欢一个帖子,因此每个帐户可以喜欢多个帖子,并且一个帖子可以被多个帐户喜欢(多对多),每个看起来都不错likes_per_day我希望它显示一个帐户每天喜欢的次数的列属性。当我运行此代码并使其继续运行时,看起来date.today()将在运行时执行,并始终向我显示rundate的点赞次数,而不是今天。

因此,我计划使用column属性获得每天的点赞次数。正确的方法是什么?

class Account(Base):
    __tablename__ = 'account'

    id = Column(
        Integer,
        primary_key=True
    )

    likes_per_day = column_property(
        select([func.count(Like.id)])
        .where(Like.account_id == id)
        .where(func.date(Like.created_at) == date.today()) # Problem is here
        .correlate_except(Like)
    )

class Like(Base):
    __tablename__ = 'like'

    id = Column(
        Integer,
        primary_key=True
    )

    post_id = Column(
        Integer,
        ForeignKey('post.id')
    )
    account_id = Column(
        Integer,
        ForeignKey('account.id')
    )
    created_at = Column(
        DateTime,
        nullable=False,
        default=datetime.utcnow,
    )

我在SQLAlchemy中拥有这些模型。它定义了我的系统的一个简单操作,该操作由一个帐户喜欢一个帖子,因此每个帐户可以喜欢多个帖子,并且一个帖子可以被很多人喜欢...

python python-3.x date sqlalchemy
1个回答
1
投票

如何使用:

© www.soinside.com 2019 - 2024. All rights reserved.