graphql-python / graphql-python/graphene
Subclass built-in scalars without creating new GraphQL type
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 818
- PR merge metrics
- No merged PRs in 30d
Description
**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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.