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

MariaDB 有一个很酷的表版本控制功能,让您可以像 VCS 一样跟踪表中的数据更改。

根据 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 数据?

heroliyimin 回答:Django (DRF) 序列化程序和 MariDB 版本表

谢谢大家的评论,我可能已经通过回答这个问题解决了这个问题:Override Django (DRF) Serializer object GET

本文链接:https://www.f2er.com/976713.html

大家都在问