gpt4 book ai didi

django - 我如何在序列化器中计算?

转载 作者:行者123 更新时间:2023-12-03 09:19:27 26 4
gpt4 key购买 nike

这是我的序列化器:
序列化器

start_at=serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
end_at = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")

现在我想在序列化器中进行计算,使这个end_at - start_at
并将该值赋予 waite_time
我该怎么做?

最佳答案

您可以使用 SerializerMethodField 对于此事:

This is a read-only field. It gets its value by calling a method on the serializer class it is attached to. It can be used to add any sort of data to the serialized representation of your object.

您没有提供类(class)的任何详细信息,但这可能是这样的:

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)

您还可以在 SerializerMethodField 中指定自定义方法名称否则默认为 get_<field_name> .

关于django - 我如何在序列化器中计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34130003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com