extort
@extort

В sqlite3 бд удаляет записи снизу вверх, нужно, чтобы он удалял сверху вниз?

Нужно, чтобы первые записи удалились, кроме последних 10, но у меня они удаляются с последних

@dp.message_handler(text='❤ Кто меня оценил?')
async def WhoGrade(message: Message):
	count_grade = len(list(set(db.count_garde_user(message.from_user.id))))
	print(count_grade)
	if count_grade > 10:
		all_key = db.get_all_grade(message.from_user.id)	
		for i in all_key[10:]:
			print(i[0])
			db.del_grade_user(i[0])
		all_user = list(set(db.get_grade_user(message.from_user.id)))
		love_user = []
		for k in all_user:
			name = k[1] 
			love_user.append(name)
		list_user = "\n".join(list(set(love_user))[0:10])
		print(love_user)
		await message.answer(f'''❤ Вас оценили:
{list_user}''')
	elif count_grade == 0:
		await message.answer(f'''❤ Вас пока что никто не оценил''')	
	else:
		all_usr = db.get_grade_user(message.from_user.id)
		good_user = []
		good_num=0
		for k in all_usr:
			name = k[1]
			good_num += 1
			good_user.append(name)
		list_user = "\n".join(list(set(good_user))[0:10])
		print(good_user)
		await message.answer(f'''❤ Вас оценили:
{list_user}''')


def del_grade_user(key):
	db = sqlite3.connect("grade.db", check_same_thread=False)
	cursor = db.cursor()
	cursor.execute(f'''DELETE FROM grade WHERE key = ?''', (key, ))
	db.commit()
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы