I am trying to access all customer details along with pricelist value via a controller. But I am getting an error. Here is my code
*.py
# -*- coding: utf-8 -*-
from odoo import http, _, tools
from odoo.http import request,Response
import base64
import datetime
import json
# methods=['POST']
class CustomerDetailsform(http.Controller):
@http.route('/customer_details/', auth="none", method=['GET'])
def customer_search_form(self, **kw):
pricelist = request.env["product.pricelist"].sudo().search([])
customer_data = request.env["res.partner"].sudo().search([])
data =[]
for line in customer_data:
if line.company_type == 'person' and not line.parent_id:
print('amd here')
print("pricelist", line.property_product_pricelist) // In this line I am getting error
name = line.property_product_pricelist.name
else:
name=''
data.append({
'CardCode': "Sample Code",
'CardType': "Sample Code",
'CardName': line.name,
'Address': line.street,
'PriceMode': "sample Pricelist Mode",
# 'PriceList': name
})
dd= json.dumps(data)
headers = {'Content-Type': 'application/json'}
return Response(dd,headers=headers)
Here is the error:
ERROR odoo15ee odoo.sql_db: bad query: SELECT substr(p.res_id, 13)::integer, r.id FROM ir_property p LEFT JOIN product_pricelist r ON substr(p.value_reference, 19)::integer=r.id WHERE p.fields_id=3116 AND (p.company_id=false OR p.company_id IS NULL) AND (p.res_id IN ('res.partner,3', 'res.partner,35', 'res.partner,47', 'res.partner,26', 'res.partner,9', 'res.partner,28', 'res.partner,14', 'res.partner,34', 'res.partner,8', 'res.partner,41', 'res.partner,1', 'res.partner,36', 'res.partner,24', 'res.partner,52', 'res.partner,12', 'res.partner,18', 'res.partner,20', 'res.partner,33', 'res.partner,48', 'res.partner,51', 'res.partner,50', 'res.partner,43', 'res.partner,46', 'res.partner,27', 'res.partner,49', 'res.partner,11', 'res.partner,37', 'res.partner,23', 'res.partner,13', 'res.partner,39', 'res.partner,40', 'res.partner,10', 'res.partner,21', 'res.partner,17', 'res.partner,7', 'res.partner,30', 'res.partner,38', 'res.partner,16', 'res.partner,44', 'res.partner,19', 'res.partner,15', 'res.partner,45', 'res.partner,29', 'res.partner,31', 'res.partner,32', 'res.partner,42', 'res.partner,25', 'res.partner,22') OR p.res_id IS NULL) ORDER BY p.company_id NULLS FIRST
ERROR: operator does not exist: integer = boolean LINE 6: AND (p.company_id=false OR p.company_id ... ^ HINT: No operator matches the given name and argument types. You might need to add explicit type casts.