Salut,
j'ai un petit probleme mon programme utilise psycopg2, et j'ai créer une interface comme ceci, je voudrais pouvoir voir les requetes brutes, j'ai donc fait comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# -*- coding: iso-8859-1 -*-
import psycopg2 as pg
import os
 
class DBHandler(object):
 
	def __init__(self,db_name):
		self.db_name = db_name
		self.database = pg.connect(db_name)
 
	def cursor(self):
		print("[DB]CURSOR CREATED")
		return self.database.cursor()
 
	def commit(self):
		print("[DB]COMMIT")
		return self.database.commit()
 
	def rollback(self):
		print("[DB]ROLLBACK")
		return self.database.rollback()
 
	def query_one(self,sql,arg=()):
		print("[DB.QUERY_ONE]%s" %(sql))
		cur = self.cursor()
		cur.execute(sql,arg)
		return cur.fetchone()
 
	def query_all(self,sql,arg=()):
		print("[DB.QUERY_ALL]%s" %(sql))
		cur = self.cursor()
		cur.execute(sql,arg)
		return cur.fetchall()
 
	def query(self,sql,arg=()):
		print("[DB.QUERY]%s" %(sql))
		cur = self.cursor()
		cur.execute(sql,arg)
		return 0
 
	def query_many(self,sql,arg=(),limit=100):
		print("[DB.QUERY_MANY]%s" %(sql))
		cur = self.cursor()
		cur.execute(sql,arg)
		return cur.fetchmany(limit)
Seulement les arguments ne sont pas affiché, ca fait que je n'ai que des logs de ce genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO messages(content,post_date,user_id,channel_id) VALUES(%s,NOW(),%s,%s);
les méthodes sont appelé comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
        self.db_handler.query("""
        INSERT INTO messages(content,post_date,user_id,channel_id) VALUES(%s,NOW(),%s,%s);
        """,(unicode(message,"utf-8","ignore"),user_id,chan_id,))
comment faire pour récupérer la requête finale ? je voudrais voir la "vrais requete", dans les caractères de substitution.

Voila j'espere que vous pourrez m'aider,
Merci