Django rest framework Serializer:从 POST 请求中获取源代码

Django rest framework Serializer: get source from POST request

我想将来自 POST 请求的数据添加到我的序列化程序:

class DeviceSerializer(ModelSerializerWithFields):
    class Meta:
        model = Device
        exclude = ("groups",)

    last_values = serializers.JSONField(source="get_graph_data", read_only=True)

如何通过将特定请求传递给 get_graph_data 来获取结果值?

理想情况下是这样的:

last_values = serializers.JSONField(source="get_graph_data", read_only=True, payload="{'foo':1, 'bar':15}")

但如果没有,至少有一种方法可以传递一个值,这样我就可以编辑端点以将这种特定情况考虑在内

  1. serializers context

  2. 中包含要传递给序列化程序的信息
  3. 为您的 last_values 字段使用 SerializerMethodField() 并使用您的负载调用方法 get_graph_data