Open emasatsugu opened 3 years ago
~I would be happy if we change all instances of type_ == SOME_TYPE
to issubclass(type_, SOME_TYPE)
(@emasatsugu's second suggestion).~
~That seems like a desirable change, since someone might also want to subclass the datetime
class and have that be supported by this library.~
Edit: Actually, I see that type_
is not always a class, so we can't quite do what I was hoping.
Edit: Actually, I see that type_ is not always a class, so we can't quite do what I was hoping.
Unfortunately it's a bit trickier, yes. We can add specific call-outs to subclasses as well, which might solve the issue.
this schema
breaks in tests that use freezegun to freeze time:
I believe the issue is because freezegun overwrites the type of
datetime.date
anddatetime.datetime
, so these lines in thegraphene_pydantic
converter (find_graphene_type()
) don't evaluate to true:pydantic code: https://github.com/graphql-python/graphene-pydantic/blob/master/graphene_pydantic/converters.py#L186 freezegun code: https://github.com/spulec/freezegun/blob/master/freezegun/api.py#L637 related freezegun issue: https://github.com/spulec/freezegun/issues/170
I'm not sure if this is a weird fix or not, but changing the if condition to:
or
fixes this use case.
A better suggestion (though I don't know the best way to implement) is to allow a custom type mappings so we don't have to rely on this switch statement.