Python:如何从postgre中获取文本uuid,将uuid作为方法的参数发送?

时间:2016-10-07 08:01:53

标签: python sqlalchemy flask-sqlalchemy uuid

我正在尝试使用flask和数据集从postgresql获取UUID,但是当我从另一个方法发送参数时它不起作用。我无法理解错误。

def setPrecoCem():
    prod = {}
    i=1
    for produto in produtosalca:
        prodict = {}
        prodict['valorcem'] = valorcem
        prodict['uuident'] = uuid.uuid4()
        precifica(prodict['uuident']) ## here i send uuident to method above

def precifica(uuident):
     product = {}
     print "Entrou no def precifica"
     ## print "UUID : ",uuident
     produto = cem.find_one(uuident=uuident) ## Here error happens
     print produto
错误:
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator does not exist: text = uuid
LINE 4: WHERE cemprodutos.uuident = 'uuidstringhe...

但是当我直接使用字符串值时:

def precifica():
     product = {}
     print "Entrou no def precifica"
     ##print "UUID : ",uuident
     #product['idproduto'] = idproduto
     produto = cem.find_one(uuident='16208578-5c9d-4ccc-9076-5f59ad2520f3')
     print produto

precifica() ##execute
它完美地运作:
Entrou no def precifica
OrderedDict([('id', 1), ('aliqPIS', 0.076), ('valorcem', 80.99985), ('uuident', u'16208578-5c9d-4ccc-9076-5f59ad2520f3'), ('precoproduto', 111.34), ('aliqICMS', 0.18), ('idproduto', u'41764'), ('aliqCofins', 0.0165), ('codigofornecedor', 1)])

0 个答案:

没有答案