首页 > 解决方案 > 从孩子获取查询集对象以附加到父查询集

问题描述

我有以下型号

class Order(models.MOdel):
  order_id = models.AutoField(primary_key=True)
  ...

class OrderLink(models.Model):
  link_type = models.CharField(max_length=255, db_index=True)
  linked_order = models.ForeignKey(Order, related_name='linked_order_links', on_delete=models.CASCADE)
  original_order = models.ForeignKey(
    Order, related_name='original_order_links', on_delete=models.CASCADE, null=True, blank=True, default=None
  )

orders = order_models.Order.objects.filter()

我有orders queryset。假设我有一个父母order,我需要从中找到所有子订单OrderLink并附加到orders queryset. 我怎样才能做到这一点? linked_order是父订单,original_order是子订单。所以它将是格式,P1C1,P1C2 等。所以最后在orders我需要[P1,C1,C2]。所有订单无论是父订单还是子订单都是指Order表。

标签: pythondjangodjango-queryset

解决方案


推荐阅读