flask-sqlalchemy запрашивает несколько строк, которые имеют разные значения - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь получить 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
  • flask-sqlalchemy

1 Ответ

0 голосов
/ 20 сентября 2018

Если вы хотите ограничить запрос до 2 результатов с разными user_ids, просто используйте distinct()

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

больше точности здесь , там , иконечно основы здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...