我´我是django和python的新手,我可以´我们得不到这个问题的解决方案,所以我们非常感谢您的帮助!
我´我正在尝试连接django中的数据库列,这些列确实有相应的值,但该值不是外键。
让´假设我的模型是:
class Order(models.Model):
order_id = models.AutoField(primary_key=True)
oOrder_number = models.CharField(max_length=50)
...
和
class Shipment(models.Model):
dShipment_id = models.AutoField(primary_key=True)
dTo_order = models.CharField(max_length=10)
...
我只知道,我可以用djangos select_related
命令从与外键连接的表中获取值。
但这是我的问题:我不能在我的模型中使用外键,原因是第三方软件将数据推送到我的api上。该软件无法存储所创建订单的返回值并将其用作装运的标识符(…)。
最后,我的问题是:是否可以对相同的字段进行一些连接 oOrder_number
以及 dTo_order
?
我想要的结果是,我可以选择一个特定的订单,并从发货表中获取所有连接的发货,所有这些发货都将具有相同的dto\u订单。
我知道如何在larvel和mysql querie中实现这一点,但从我所听到的来看´使用原始查询不是“djangoish”。
有什么想法吗?
感谢阅读!如果我遗漏了什么,我很乐意提供所有必要的信息!:)
edit:我知道我可以尝试一种解决方法,通过在order表中搜索to\u order字段并获取该字段的主键,来获取装运订单的外键。然而,我很好奇是否有一个更优雅的解决方案,这在django。
更新:
这就是我的想象。
我从db那里得到命令 orders=Order.objects.all()
.
我做了一些魔术,这样对于每个order对象,都会有一个数组或者其他什么数组,其中包含属于该订单的所有发货数据
我把数据传给我的模板。在这里,我想做一些类似的事情:
{%表示订单%}
{{订单号}
{%用于order.shippings%}
{{shipping.trackingno}}
{%endfor%}
{%endfor%}
1条答案
按热度按时间nmpmafwu1#
你可以使用
Subquery
带的表达式OuterRef
: