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数据的特定版本?

感谢大家的评论,我可能已经解决了这个问题的答案:重写Django (DRF)序列化器对象GET

最新更新