且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

从姜戈简史中获取睡觉历史

更新时间: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内置的listdict序列化程序,唯一的诀窍是向它传递正确的迭代量,这是通过调用简单历史模型管理器类上的.values()来完成的。