как перезаписать дублированные ключи из списка словарей в odoo - PullRequest
0 голосов
/ 09 июля 2020
• 1000 Я сделал это, но результат возвращает неуникальные продукты, а длина списка - это сумма строк заказа, мне нужно удалить все дублированные продукты и установить только последний, у которого максимальное количество, вот код
@api.multi
def product_summary_test(self):
    product_summary_dict = {}
    data = []
    if self.date_from and self.date_to:
        order_detail = self.env['pos.order'].search([('date_order', '>=', self.date_from),
                                                     ('date_order', '<=', self.date_to)])
        if order_detail:
            for each_order in order_detail:
                for each_order_line in each_order.lines:
                    if each_order_line.product_id.name in product_summary_dict:
                        product_qty = product_summary_dict[each_order_line.product_id.name]
                        product_qty += each_order_line.qty
                        res1 = {
                            "name": each_order_line.product_id.name,
                            "sold_qty": product_qty,
                        }
                        data.append(res1)
                    else:
                        product_qty = each_order_line.qty
                        res2 = {
                            "name": each_order_line.product_id.name,
                            "sold_qty": product_qty,
                        }
                        data.append(res2)

                    product_summary_dict[each_order_line.product_id.name] = product_qty;
    if data:
        print(len(data))
        print(data)
        return data
    else:
        return {}

распечатка для тестирования, как я могу это сделать ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...