gpt4 book ai didi

python - 如何为每个销售订单检索 many2many 字段的值?

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:18 25 4
gpt4 key购买 nike

我在 sale.order 模型中创建了一个 many2many 字段,它与 fleet.vehicle 模型 (id) 相关。

如下图所示:

图像 1:enter image description here

那么,'x_vehiculo' 字段是一个多选字段,如下图所示:

图像 2:enter image description here

我的想法是,对于每个销售订单,我可以存储超过 1 辆车。

问题是当我在 SGB Postgresql (PgAdmin III) 中进行查询时,我看不到每个销售订单的 x_vehiculo' 字段的值。

图像 3:enter image description here

有什么方法可以检索每个销售订单的“x_vehicle”多选字段的值?

如果有人能帮助我,请帮忙。我将不胜感激。

非常感谢

最佳答案

关系未存储在 sale_order 表中。因为它是 many2many,所以它存储在关系表中。根据您的屏幕截图,您的关系表是这样的:x_fleet_vehicle_sale_order_rel

要查询车辆,您必须像这样通过此表加入:

select so.name, fv.name
from sale_order so
left join x_fleet_vehicle_sale_order_rel rel on (rel.sale_order_id = so.id)
left join fleet_vehicle fv on (fv.id = rel.fleet_vehicle_id);

这将为您提供 sale.orderfleet.vehicle 的每种组合的行。如果您想按销售订单对它们进行分组,您可以这样做:

select so.name, array_agg(fv.name) as vehicles
from sale_order so
left join x_fleet_vehicle_sale_order_rel rel on (rel.sale_order_id = so.id)
left join fleet_vehicle fv on (fv.id = rel.fleet_vehicle_id)
group by so.name;

这将为每个 sale.order 返回一行,其中包含附加到该订单的 fleet.vehicle 名称列表。

关于python - 如何为每个销售订单检索 many2many 字段的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39068266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com