cursor.execute()
или какой-то другой его метод. В общем случае, когда вы выполняете запрос-выборку, по нему можно итерироваться, как и по итераторам/генераторам, но как и в случае с последними - напрямую получить данные из него нельзя. Нужно вызывать метод .fetchall()/.fetchone()
Как в примере.import sqlite3
with sqlite3.connect('db.sqlite3') as conn:
conn.execute("CREATE TABLE IF NOT EXISTS users(name TEXT, id INT, rep INT)")
conn.execute("INSERT INTO users VALUES('username0',1,2323)")
conn.execute("INSERT INTO users VALUES('username1',2,324)")
conn.execute("INSERT INTO users VALUES('username2',3,23443)")
conn.execute("INSERT INTO users VALUES('username3',4,43521)")
conn.commit()
cur = conn.cursor()
result = cur.execute("SELECT id, name, rep FROM users ORDER BY rep DESC LIMIT 10").fetchall()
result1 = cur.execute("SELECT * FROM users ORDER BY rep DESC LIMIT 10").fetchall()
cur.close()
print(result)
print(result1)
[(4, 'username3', 43521), (3, 'username2', 23443), (1, 'username0', 2323), (2, 'username1', 324)]
[('username3', 4, 43521), ('username2', 3, 23443), ('username0', 1, 2323), ('username1', 2, 324)]
Не могу найти драйвера для ноутбука?
я думал, что нужно создать еще одну например отдельную страницу, /api/json-post на которую будет выводится данные о посте в формате json.
одновременно переход на шаблон и запись json
получать pk и по нему строить json запрос на другой странице(/api/json-post)
window.open('http://example.com');
result = await cur.execute("SELECT * FROM profile WHERE uid")
await cur.execute('INSERT INTO profile(uid) VALUES (uid)')
async def on_message_new(self, message):<br>
user = await self.bot.get_user(message.from_id)<br>
reg = await basa.register.main.register()
async with conn.cursor() as cur:
result = await cur.execute("SELECT * FROM profile WHERE uid")
row = await cur.fetchall()
if result == 0:
await cur.execute(f'INSERT INTO profile(uid) VALUES(uid)')
else:
return await row
# url.py
path('<int:pk>/',views.get_json_response)
# views.py
def get_json_response(request, pk):
user = UserModel.objects.get(pk=pk) # UserModel - переопределенная модель Юзера
if user:
user_data = {
'first_name': user.first_name,
'middle_name': user.middle_name, # Добавлено отчество
'last_name': user.last_name,
'email': user.email,
}
else:
user_data = {'error': 'User not found'}
return JsonResponse(user_data, json_dumps_params={'ensure_ascii': False})
self.connection = self.connection.cursor()
with self.connection:
В таком случае - это комплексная проблема, требующая, по-факту реализации схемы снуля.
Прежде всего, нужно идентифицировать пользователя исключительно по неизменяемым данным, т.е. по его telegram-id (либо его id внутри группы, как в дискорде. Честно говоря, с ТГ я почти не работал, поэтому не могу сказать, как здесь это реализовано). В целом, вы делали шаги в эту сторону, однако есть несколько "но":
Ники можно хранить как в базе, так и получать из ТГ на основе id
Ну и как дополнение - нормализация баз данных. К сабжу отношения не имеет, но в целом полезная вещь.