0

1 対多の SQLAlchemy 関係の日付をどのように比較しますか?

基本的に、私のモデル構造では、チームとプレーヤーの間に 1 対多の関係があります。

class Team(db.Model):
    __tablename__ = 'Team'
    id = db.Column(db.Integer, primary_key=True)
    players = db.relationship('Player', backref='team', lazy='dynamic')

class Player(db.Model):
    __tablename__ = 'Player'
    id = db.Column(db.Integer, primary_key=True)
    last_match = db.Column(db.DateTime)
    team_id = db.Column(db.Integer, db.ForeignKey('Team.id'))

だから私は特定の日付を過ぎたチームの最近のすべてのプレーヤーを見つけたいと思っていますが、私が試したことはうまくいきませんでした:

team = Team.query.filter_by(id=some_id).first()
recent_players = team.players.filter(Players.last_match.date() > some_date)

私は何を間違っていますか?

4

1 に答える 1

0

recent_players = team.players.filter(Players.last_match > some_date)やればいいだけ。の一部
だけが本当に必要な場合は、 sqlalchemy.sql.expression.castを使用してキャストできます。datedatetime

recent_players = team.players.filter(cast(Players.last_match, DATE) > some_date)
于 2013-04-26T07:52:00.223 に答える