0
當我在查詢中調用limit
時,我得到的結果不準確,我不確定是什麼原因造成的。使用SQLAlchemy限制已加入的ForeignKey查詢
型號:
class Voter(db.Model):
histories = db.relationship('VoterHistory', backref='voter', lazy='dynamic')
ncid = db.Column(db.String(80),unique=True)
class VoterHistory(db.Model):
voter_ncid = db.Column(db.String(80), db.ForeignKey('voter.ncid'))
election_lbl = db.Column(db.String(280))
例如
q1 = Voter.query.filter_by(birth_age='25')
q2 = db.and_(Voter.histories.any(VoterHistory.election_lbl == '11/03/2015'),
Voter.histories.any(VoterHistory.election_lbl == '03/15/2016'))
res= q1.join(Voter.histories).filter(q2)
如果我打電話.count
上res
我拿到〜4000的結果。如果我做res.limit(3000).all()
,我可以得到約700個結果。
這是怎麼回事,我該如何解決?我試圖獲得3000 Voter
對象。