Форум сайта python.su
Здравствуйте. Используя библиотеку psycopg2 из БД (postgresql) я извлёк несколько строк с данными.
cur.execute(querry)
>>for row in cur: row[0]+" "+row[1] Иванов Москва Петров Пенза Сидоров Волгоград Кузнецов Смоленск
Офлайн
тут лучше оптимизировать запросы к БД
select user_name,town from my_table where user_name='Сидоров'
Отредактировано vic57 (Окт. 17, 2017 07:21:29)
Офлайн
vic57Я объясню.
тут лучше оптимизировать запросы к БД
Отредактировано Cenzor (Окт. 17, 2017 08:05:45)
Офлайн
Cenzor
В таблице у вас обязательно должно быть поле (или набор полей) Primary Key, однозначно идентифицирующее запись. Как правило это автоинкрементное Long поле. Вам надо получить это поле вместе с остальными в первом запросе, а потом использовать его для выборки детализации.
Офлайн
Cenzor
если вы получаете массив поиск по любому будет циклом, это основы программирования
out = [ i for i in cur if i[0] == 'Сидоров' and i[1] == 'Волгоград']
Офлайн
vic57спасибо, но у вас используется генератор списка, в котором в свою очередь используется цикл, это основы программирования
Cenzorесли вы получаете массив поиск по любому будет циклом, это основы программирования
Отредактировано Cenzor (Окт. 17, 2017 13:45:45)
Офлайн
ну так в любом случае в основе - массивы, циклы, указатели. все остальное - обертки
Офлайн
ну тут в явном виде цикл используется.
Мне вод подсказывают, цитирую “ у объекта курсора есть метод fetchall(), которым вы можете выгрузить его содержимое в список и дальше уже к нему обращаться по индексу.”
Видимо, это лучший вариант
Офлайн
CenzorНужную запись между запросами могут подправить?
не прибегая к повторному запросу к БД для извлечения именно нужной записи?
Офлайн