2017-11-16 14 views
0

は、私は、モデルの多くの小数点以下のフィールドがありDjangoの残りのフレームワーク形式10進数フィールド

amount = models.DecimalField(max_digits=16, decimal_places=4) 

ように私はすべてのシリアライザで、出力小数点以下の書式を設定したいですフィールドはこれを行うことができます

amount = serializers.DecimalField(max_digits=16, decimal_places=2) 

簡単な方法はありますか? DRFで

+0

それを行う唯一の方法です:) –

+1

あなたはkwargを変更するよりも簡単ですか? –

+0

@MarcusLind私の考えは悪いかもしれませんが、私はミドルウェアでprocess_responseメソッドを使用して、1つの場所だけを変更したいと思っていました –

答えて

0

のみのオプションをオーバーライドする方法ではなく、フィールド全体があります:

class MySerializer(serializers.ModelSerializer): 

    class Meta: 
     model = MyModel 
     fields = ('amount',) 
     extra_kwargs = { 
      'amount': {'max_digits': 16, 'decimal_places': 2} 
     } 

それとも、多くの同じ小数点以下のフィールドを持っている場合は、事前に定義された一般的なオプションを使用して独自のカスタムDecimalFieldはを使用する必要がありますが。

関連する問題