improvement: convert decimal field to graphene decimal (#1083)

This commit is contained in:
Jason Kraus 2020-12-30 08:25:41 -08:00 committed by GitHub
parent e559a42374
commit 2d0b9ddd42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 0 deletions

View File

@ -18,6 +18,7 @@ from graphene import (
DateTime, DateTime,
Date, Date,
Time, Time,
Decimal,
) )
from graphene.types.json import JSONString from graphene.types.json import JSONString
from graphene.utils.str_converters import to_camel_case from graphene.utils.str_converters import to_camel_case
@ -160,6 +161,10 @@ def convert_field_to_boolean(field, registry=None):
@convert_django_field.register(models.DecimalField) @convert_django_field.register(models.DecimalField)
def convert_field_to_decimal(field, registry=None):
return Decimal(description=field.help_text, required=not field.null)
@convert_django_field.register(models.FloatField) @convert_django_field.register(models.FloatField)
@convert_django_field.register(models.DurationField) @convert_django_field.register(models.DurationField)
def convert_field_to_float(field, registry=None): def convert_field_to_float(field, registry=None):

View File

@ -242,6 +242,10 @@ def test_should_float_convert_float():
assert_conversion(models.FloatField, graphene.Float) assert_conversion(models.FloatField, graphene.Float)
def test_should_float_convert_decimal():
assert_conversion(models.DecimalField, graphene.Decimal)
def test_should_manytomany_convert_connectionorlist(): def test_should_manytomany_convert_connectionorlist():
registry = Registry() registry = Registry()
dynamic_field = convert_django_field(Reporter._meta.local_many_to_many[0], registry) dynamic_field = convert_django_field(Reporter._meta.local_many_to_many[0], registry)