Смотрите, я сохраняю фото id в базе. Для проверки вывожу содержимое записи на экран(1 вывод) Все сохранено,
Дальше я добавляю следующее фото в другой столбец и снова вывожу содержимое:
Первый(13 фактический) столбец none
Второй(14 фактический) - содержит нужное значение
Вывожу еще снова содержимое столбца(на фото это не показано) - все пусто
Код для сохранения первого, второго фото
Начало:
@bot.message_handler(content_types= ["photo"])
def verifyUser(message):
core.make_order(message, True)
.....
def make_order(self, message, with_photo=False):
db = DB()
if db.get_next_step(message) == 1:
self.bot.send_message(message.chat.id,
"Введи, пожалуйста, свои фамилию, имя, отчество и отправь как обычное сообщение"
" или прикрепи первую, вторую страницы паспорта")
db.to_next_step(message)
else:
if with_photo or db.get_next_step(message) > 20:
if db.get_next_step(message) < 20:
db.to_step(message, 20)
self.make_order_with_photo(message)
else:
self.make_order_manual(message)
def make_order_with_photo(self, message):
db = DB()
if db.get_next_step(message) == 20:
db.to_next_step(message)
db.set_passphoto_one(message)
db.set_passphoto_one(message)
self.bot.send_message(message.chat.id, "И вторая страница")
return
elif db.get_next_step(message) == 21:
db.to_next_step(message)
db.set_passphoto_two(message)
self.choise_number_message(message)
return
....
class DB :
def __init__(self):
self.con = sqlite3.connect('users.db')
self.cur = self.con.cursor()
........
def set_passphoto_one(self, message):
query = "UPDATE users SET p='{im}' WHERE id={id}"
# query = 'INSERT INTO users(id, p) VALUES('+str(message.chat.id)+', "' + str(message.photo[1].file_id) + '") '
print(query)
self.cur.execute(query.format(im=str(message.photo[1].file_id), id=message.chat.id) )
self.get_from_db(message)
def set_passphoto_two(self, message):
data = str(message.photo[1].file_id)
query = "UPDATE users SET ph='{im}' WHERE id={id}"
print(query)
self.cur.execute(query.format(im=str(message.photo[1].file_id), id=message.chat.id))
Спасибо. PS. Знаю, что в каждом методе соединение с БД вызывать - это нехорошо, но пока не могу разобраться - вызывается ошибка