2013-04-26 24 views
0

如何比较一对多SQLAlchemy关系的日期?将日期与SQLAlchemy一对多关系进行比较

基本上我的模型结构,有一个球队和球员之间的多对多关系:

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) 

我在做什么错了?

回答

0

只是recent_players = team.players.filter(Players.last_match > some_date)应该这样做。
如果你真的需要有只datedatetime一部分,您可以使用sqlalchemy.sql.expression.cast投它:

recent_players = team.players.filter(cast(Players.last_match, DATE) > some_date) 
+0

嗯,谢谢,我会尝试取出日期,看看它的工作原理 – GangstaGraham 2013-04-26 07:55:33

相关问题