我正在使用带有 django-simple-history 的 Django Rest Framework,目前我想在我的Board
rest API 中返回历史修改,目前它做得很好,但我想隐藏一些字段。这是当前的输出:
但是,我不需要id
,history_id
等。
我的实现与本文中的亚历山大回答相同。这是我目前的序列化程序,我将历史记录放在我的 Board 模型上
class HistoricalRecordField(serializers.ListField):
child = serializers.DictField()
def to_representation(self, data):
representation = super().to_representation(data.values())
# i've tried to do it by deleting, but does't work well.
del representation[0]['history_id']
return representation
class BoardSerializer(serializers.ModelSerializer):
history = HistoricalRecordField(read_only=True)
class Meta:
model = Board
fields = '__all__'
但这似乎不是最好的方法。
如果您对如何以正确的方式进行操作有一些提示,我想知道。提前致谢!