Odoo Help

0

How to use cr.execute to perform valid sql queries ?

By
Yassine TEIMI
on 12/11/14, 5:08 PM 4,056 views

On my selection field, I want to perform a sql query that fetch delivery references (Custom field) with criterias, like this :

 

from openerp.osv import fields, orm, osv

class AccountVoucher(orm.Model):

    def _get_selection(self, cr, uid, context):

        partner = context.get('id_partner',[])
        cr.execute("""SELECT num_bl FROM stock_picking WHERE state='done' and invoice_state='2binvoiced' and partner_id= %d""",(partner,))

        return cr.fetchall()

    _inherit = 'account.voucher'
    _name = 'account.voucher'
    _columns = {
        'bls_to_pay': fields.one2many('stock.picking.out','bl_id','BLS to pay', readonly = True),
        'Numeros_bl': fields.selection(_get_selection, 'Numeros Bls', size=32),
    }

The query does'nt work, i made a ; at the end of the query, same result ... , how should I do ?

PS : i tried with %s

0

Hi,

please write down your method as like below. It may help you.

def _get_selection(self, cr, uid, context):

        partner = context.get('id_partner',[])
        cr.execute("SELECT id, num_bl FROM stock_picking WHERE state='done' and invoice_state='2binvoiced' and partner_id= %d" %(partner) )

        return cr.fetchall()

 

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)

Stats

Asked: 12/11/14, 5:08 PM
Seen: 4056 times
Last updated: 3/16/15, 8:10 AM