【问题标题】:flask-sqlalchemy query multiple rows that has different valueflask-sqlalchemy 查询具有不同值的多行
【发布时间】:2018-09-20 03:17:41
【问题描述】:

我试图从第一行获取 2 行,但它应该具有不同的值。

例如,

class Table(db.Model):
    id = db.Column(primary_key)
    category = db.Column(string)
    user_id = db.Column(Integer, Foreign(User))

two_rows = Table.query.filter_by(category='category1').limit(2).all()

通过上面的代码,我们可以得到两行。但它从不确保每一行都有不同的 user_id。
如何确保(或查询)它?

所以我期待结果

而不是

[
<Table id=1, category='category1', user_id=1>, 
<Table id=2, category='category1', user_id=1>
]

应该是

[
<Table id=1, category='category1', user_id=1>, 
<Table id=3, category='category1', user_id=2>
]

[+] 我目前正在使用

  • postgresql
  • 烧瓶-sqlalchemy

【问题讨论】:

    标签: python postgresql sqlalchemy


    【解决方案1】:

    如果您想将查询限制为具有不同 user_id 的 2 个结果,只需使用 distinct()

    two_rows = Table.query.filter_by(category='category1').distinct(Table.user_id).limit(2).all()
    

    更多精度herethere,当然还有the basics here

    【讨论】:

      猜你喜欢
      • 2021-11-22
      • 2020-04-12
      • 1970-01-01
      • 2013-07-24
      • 2019-07-02
      • 2019-07-22
      • 1970-01-01
      • 2014-05-18
      • 2014-10-09
      相关资源
      最近更新 更多