[mysql]这个 sql 转化瓶 sqlalchemy 语法

标签: MySQL Python
发布时间: 2015/6/11 22:20:28
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我用的烧瓶 sqlalchemy。
这里是 mysql:

select u.id, count(i.id) as count from rss_urls as u left join rss_items as i on u.id = i.rss_urls_id group by u.id;

我如何应该转换,成 sqlalchemy?

多谢。

class RSS_urls(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    link = db.Column(db.String(200), unique=True)
    add_time = db.Column(db.DateTime)
    rss_items = db.relationship("RSS_items", backref="base_url", lazy="dynamic")


class RSS_items(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    rss_urls_id = db.Column(db.Integer, db.ForeignKey("RSS_urls.id"))
    link = db.Column(db.String(200))
    title = db.Column(db.String(200))

这里是模型。

解决方法 1:

假设你有一个模型 RssUrlRssItem ,与 RssUrl.rss_items

db.session.query(RssUrl.id, db.func.count(RssUrl.id).label("count")
    ).join(RssUrl.rss_items).group_by(RssUrl.id)
赞助商