我尝试从第一行开始获得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>
]
[+]我当前正在使用
答案 0 :(得分:1)
如果您想将查询限制为2个具有不同user_id的结果,只需使用distinct()
two_rows = Table.query.filter_by(category='category1').distinct(Table.user_id).limit(2).all()
更高的精度here,there,当然还有the basics here