gql-next icon indicating copy to clipboard operation
gql-next copied to clipboard

Issues with DateTime ISO fields

Open JasperCheung opened this issue 4 years ago • 0 comments

when i run gql_run and the renderer_dataclasses.py encounters a DateTime field it generates a field:

var_name: datetime = None

when I run a query that returns a datetime object I get the following error:

File "/Users/jasper/Documents/test/test-graph-python-client/env/lib/python3.7/site-packages/dataclasses_json/core.py", line 220, in _decode_generic
    res = _get_type_cons(type_)(xs)
  File "/Users/jasper/Documents/test/test-graph-python-client/env/lib/python3.7/site-packages/dataclasses_json/core.py", line 260, in <genexpr>
    for x in xs)
  File "/Users/jasper/Documents/test/test-graph-python-client/env/lib/python3.7/site-packages/dataclasses_json/core.py", line 165, in _decode_dataclass
    infer_missing)
  File "/Users/jasper/Documents/test/test-graph-python-client/env/lib/python3.7/site-packages/dataclasses_json/core.py", line 179, in _decode_dataclass
    dt = datetime.fromtimestamp(field_value, tz=tz)
TypeError: an integer is required (got type str)

I think this is because in: https://github.com/graphql-python/gql-next/blob/5c81e58862c8df3a335b81bb2f77a0fab2c50570/gql/renderer_dataclasses.py#L153-L160

suffix is being overwritten if the field is nullable and DATETIME_FIELD isn't being used.

JasperCheung avatar Mar 13 '20 16:03 JasperCheung