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 поможет вам получить связанные объекты внешнего ключа.