问题描述
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
数据?
解决方法
谢谢大家的评论,我可能已经通过回答这个问题解决了这个问题:Override Django (DRF) Serializer object GET