nat*_*ila 2 django django-rest-framework
这是我的序列化器:
序列化器
start_at=serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
end_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
现在我想在序列化器中进行计算,制作这个end_at - start_at
并将这个值赋予waite_time
我如何做到这一点?
您可以使用 aSerializerMethodField来解决这个问题:
这是一个只读字段。它通过调用其附加的序列化器类上的方法来获取其值。它可用于将任何类型的数据添加到对象的序列化表示中。
您没有提供课程的任何详细信息,但这可能是例如:
class MySerializer(serializers.ModelSerializer):
start_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
end_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
# .... (any fields)
diff = serializers.SerializerMethodField()
def get_diff(self, obj):
return obj.end_at - obj.start_at
# .... (any meta etc)
Run Code Online (Sandbox Code Playgroud)
您还可以在 中指定自定义方法名称,SerializerMethodField否则默认为get_<field_name>。
| 归档时间: |
|
| 查看次数: |
2443 次 |
| 最近记录: |