Subclass built-in scalars without creating new GraphQL type
RJPercival opened this issue · 0 comments
Is your feature request related to a problem? Please describe.
I'd like to be able to customise serialization logic for some scalars, e.g. a NormalizedDecimal
that inherits from Decimal
but calls .normalize()
on the value during serialization. Unfortunately, this results in the GraphQL schema containing a new NormalizedDecimal
scalar that clients don't know how to deserialize.
Describe the solution you'd like
I'd like the type to still be that of the superclass in the schema, e.g. Decimal
in the above example.
Describe alternatives you've considered
I've tried overriding Scalar.get_type()
to return the type of the superclass, but then the subclass doesn't function as intended, e.g. the custom serialization logic doesn't get invoked. I've also tried setting Meta.name
to that of the superclass, but that also results in the custom serialization logic not being invoked.