更新时间:2022-06-20 18:34:55
我知道已经一年了,但不管怎样,也许有人会觉得有用。以下是我的解决方案(在我看来容易得多):
新的序列化程序字段:
class HistoricalRecordField(serializers.ListField):
child = serializers.DictField()
def to_representation(self, data):
return super().to_representation(data.values())
现在只需将其用作序列化程序中的a字段:
history = HistoricalRecordField(read_only=True)
这利用了DRF内置的list
和dict
序列化程序,唯一的诀窍是向它传递正确的迭代量,这是通过调用简单历史模型管理器类上的.values()
来完成的。