0

我有一个名为的模型Order和另一个OrderItem. 该OrderItem表具有该表的外键Order。现在我在两个模型上都安装并设置了 [simple-history][1]。我尝试获取订单历史记录,并使用OrderItem表上的相关名称从历史记录中获取相关的 OrderItem,但它返回错误:

AttributeError:“HistoricalOrder”对象没有属性“order_items”

这是我的OrderOrderItem桌子。

class OrderItem(models.Model):
    order = models.ForeignKey(
        "Order", on_delete=CASCADE, related_name="order_items"
    )
    content_type = models.ForeignKey(ContentType, on_delete=models.RESTRICT)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey("content_type", "object_id")
    history = HistoricalRecords()
    .......

class Order(models.Model):
    po_id = models.CharField(max_length=50, unique=True, blank=True, null=True)
    history = HistoricalRecords()
    .....

以下命令给了我一个命令。

 order = Order.history.filter(id=102).first()

但是如果我运行,order.order_items.all()那么我会得到属性错误。

如果我在实际模型上运行查询,那么我会使用以下命令获取 order_items。

Order.objects.get(id=102).order_items.all()

是否可以像普通 django 模型一样从历史表中获取 order_items。我怎样才能做到这一点。

谢谢你。[1]:https ://django-simple-history.readthedocs.io/en/latest/index.html

4

0 回答 0