How to solve error Expected singleton: purchase.order.line (57, 58, 59, 60, 61, 62, 63, 64)
It is because your purchase order got several orderlines and you are hoping that the order will have only one orderline.
o.orderline.product_id.product_tmpl_id.seller_ids 
will work only if there is one orderline otherwise you have loop through each orderline. Here o.orderline will have multiple orderlines and you can get product_id from multiple orderline. If you try o.orderline[0].product_id.product_tmpl_id.seller_ids it will work but will get only first orderline details. Inorder to get all the orderline details you need to loop through it.
I'm using odoo version 9 and I've created a module to customize the reports of purchase order. Among the fields that I want displayed in the reports is the supplier reference for article but when I add the code that displays this field  <span> <t t-esc="', '.join([str(x.product_code) for x in o.order_line.product_id.product_tmpl_id.seller_ids])"/>
  but it displays an error when I want to start printing the report
QWebException: "Expected singleton: purchase.order.line(57, 58, 59, 60, 61, 62, 63, 64)" while evaluating
"', '.join([str(x.product_code) for x in o.order_line.product_id.product_tmpl_id.seller_ids])"
PS: I don't change anything in the module purchase. 
I don't know how to fix this problem any idea for help please ?