Django-simple-history как получить связанные объекты внешнего ключа

У меня есть модель с именем Order и еще одна OrderItem. Таблица OrderItem имеет внешний ключ к таблице Order. Сейчас я установил и настроил [simple-history][1] на обеих моделях. Я пытаюсь получить историю заказов, а также извлечь связанный OrderItem из истории, используя связанное имя в таблице OrderItem, но это возвращает ошибку:

AttributeError: объект 'HistoricalOrder' не имеет атрибута 'order_items'

Вот моя Order и OrderItem таблица.

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()

Можно ли получить order_items из таблицы history таким же образом, как и обычные модели django. И как я могу сделать так, чтобы это работало.

Спасибо. [1]: https://django-simple-history.readthedocs.io/en/latest/index.html

Вы случайно не пробовали это https://django-simple-history.readthedocs.io/en/latest/querying_history.html#historicforeignkey

HistoricForeignKey поможет вам получить связанные объекты внешнего ключа.

Вернуться на верх