Django (DRF) 序列化程序和 MariDB 版本控制表

Django (DRF) Serializers and MariDB Versioning Tables

MariaDB 具有 table 版本控制这一很酷的功能,允许您像 VCS 一样跟踪 table 中的数据更改。

根据 Django 文档,最新的 Django 版本支持 MariaDB,但似乎并非如此,因为要查询历史数据,您仍然必须使用 raw-sql 命令。

现在我的项目中嵌套了序列化器,“嵌套”底部的一些模型包含版本化对象。在请求使用嵌套序列化程序的父序列化程序的端点视图时,如何指定要获取的版本(系统时间)?

示例:

# MODELS

class Driver(models.Model):
    name = models.CharField(max_length=120)
    surname = models.CharField(max_length=120)
    car = models.ForeignKey(Car, on_delete=models.SET_NULL, null=True)

class Car(models.Model):
    brand = models.CharField(max_length=120)
    model = models.CharField(max_length=120)
    year = models.DateTimeField()
# SERIALIZERS

class CarSerializer(serializers.ModelSerializer):

    class Meta:
        model = Car
        fields = '__all__'

class DriverSerializer(serializers.ModelSerializer):
    car = CarSerializer()

    class Meta:
        model = Driver
        fields = '__all__'

假设 django 模型:Car 使用 MariaDB (ALTER TABLE db.Car ADD SYSTEM VERSIONING;) 进行系统版本控制,我如何告诉 Driver 序列化程序获取特定版本的 Car 数据?

谢谢大家的评论,我可能已经解决了这个问题的答案: