0
0 комментариев

Я новичёк в изучении SQLAlchemy, да и Python в целом.
Интересует, есть ли какой-то стандартный вид запроса. который извлекает из таблицы рандомные позиции.
Видел, что можно использовать .limit(x), где x — количество, которое нужно выбрать.

Есть предположение, что это можно сделать извлекая из базы по айди, а сами айдишники (рандомные) можно получить зная количество записей в таблице, и используя это число, как второе значение в стандартной функции random.

Но это костыль, и мне бы хотелось, если таковое вообще существует, использовать нативное решение.

Я делаю так:

lastnote = Products.query.order_by(Products.id.desc()).first()
print(randint(0,int(lastnote.id)))

однако, есть нюанс: если я удалю из базы позицию с каким-то айди, то в последствии, делая рандомную выборку, я могу получить число сгенерирвоанное randint, которое будет равно айди удалённой позиции из базы, и как следствие, я не получу нужную выдачу.

Подскажите, как быть?

Заранее спасибо.
Прошу прощение за глупый вопрос.


Добавить комментарий