Django Rest框架格式十进制字段,小数点后2位(用于输出)
我使用Django和DRF,在模型中有许多十进制字段,如Django Rest框架格式十进制字段,小数点后2位(用于输出),django,django-rest-framework,Django,Django Rest Framework,我使用Django和DRF,在模型中有许多十进制字段,如 amount = models.DecimalField(max_digits=16, decimal_places=4) 我想格式输出两位小数,在每个序列化字段可以做到这一点 amount = serializers.DecimalField(max_digits=16, decimal_places=2) 有一种更简单的方法吗?在DRF中,有一种方法仅覆盖选项,而不覆盖整个字段: class MySerializer(serial
amount = models.DecimalField(max_digits=16, decimal_places=4)
我想格式输出两位小数,在每个序列化字段可以做到这一点
amount = serializers.DecimalField(max_digits=16, decimal_places=2)
有一种更简单的方法吗?在DRF中,有一种方法仅覆盖选项,而不覆盖整个字段:
class MySerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('amount',)
extra_kwargs = {
'amount': {'max_digits': 16, 'decimal_places': 2}
}
或者,如果有许多相同的十进制字段,则应使用自定义的十进制字段和预定义的常用选项。在DRF中,有一种方法可以仅覆盖选项,而不覆盖整个字段:
class MySerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ('amount',)
extra_kwargs = {
'amount': {'max_digits': 16, 'decimal_places': 2}
}
或者,如果您有许多相同的十进制字段,您应该使用自定义的十进制字段和预定义的常用选项。这是唯一的方法:)您的意思是比更改kwarg更简单?@MarcusLind也许我的想法不好,我想在中间件中使用process\u response方法,所以只修改一个位置这是唯一的方法:)你的意思是比更改kwarg更简单?@MarcusLind也许我的想法不好,我想在中间件中使用process\u response方法,所以只修改一个位置