python sql查询表格显示_python-flask-sqlalchemy:查询一个表中的记录,而...

我正在编写一个简单的应用程序,可以帮助人们致电选民.我不希望我的志愿者多次欺骗任何选民.我如何获得尚未被召集的选民名单?我正在将烧瓶与flask-sqlalchemy一起使用.

选民模型:

class Voter(db.Model):

id = db.Column(db.Integer, primary_key=True)

name = db.Column(db.String(80))

phone = db.Column(db.String(20))

vanid = db.Column(db.String(20))

address = db.Column(db.String(255))

city = db.Column(db.String(255))

zip_code = db.Column(db.String(20))

lat = db.Column(db.Float)

lng = db.Column(db.Float)

...

通话模型:

class Call(db.Model):

id = db.Column(db.Integer, primary_key=True)

voter_id = db.Column(db.Integer, db.ForeignKey('voter.id'))

voter = db.relationship('Voter', backref=db.backref('calls', lazy='dynamic'))

user_id = db.Column(db.Integer, db.ForeignKey('user.id'))

user = db.relationship('User', backref=db.backref('calls', lazy='dynamic'))

time = db.Column(db.DateTime)

status_code = db.Column(db.String(20))

...

call.status_code将包含诸如complete,busy,wrong_number等值.

我想获得一个有资格被召集的所有选民的名单,这样我就可以选出一个服务于志愿者. (即call.status_code!=已完成等.或者没有相关的通话记录)

如果要在原始SQL中执行此操作,则可能会执行以下操作:

Select [whatever]

FROM Voter v

LEFT JOIN Call c on c.voter_id = v.id

WHERE c.status_code IS NULL OR c.status_code = 'busy'

我无法在sqlalchemy中弄清楚.有什么见解吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值