@@ -292,7 +292,8 @@ def _get_field_args(self) -> dict[str, str]:
292292
293293@dataclass (kw_only = True )
294294class DateTimeSchema (SchemaData ):
295- _type_string : ClassVar [str ] = "datetime"
295+ # avoid conflict with field name which will cause pydantic analyze error
296+ _type_string : ClassVar [str ] = "_dt.datetime"
296297
297298 @override
298299 def get_response_type_string (self ) -> str :
@@ -303,37 +304,38 @@ def get_response_type_string(self) -> str:
303304 @override
304305 def get_model_imports (self ) -> set [str ]:
305306 imports = super ().get_model_imports ()
306- imports .add ("from datetime import datetime " )
307+ imports .add ("import datetime as _dt " )
307308 return imports
308309
309310 @override
310311 def get_type_imports (self ) -> set [str ]:
311312 imports = super ().get_type_imports ()
312- imports .add ("from datetime import datetime " )
313+ imports .add ("import datetime as _dt " )
313314 return imports
314315
315316 @override
316317 def get_param_imports (self ) -> set [str ]:
317318 imports = super ().get_param_imports ()
318- imports .add ("from datetime import datetime " )
319+ imports .add ("import datetime as _dt " )
319320 return imports
320321
321322 @override
322323 def get_using_imports (self ) -> set [str ]:
323324 imports = super ().get_using_imports ()
324- imports .add ("from datetime import datetime " )
325+ imports .add ("import datetime as _dt " )
325326 return imports
326327
327328 @override
328329 def get_response_imports (self ) -> set [str ]:
329330 imports = super ().get_response_imports ()
330- imports .add ("from datetime import datetime " )
331+ imports .add ("import datetime as _dt " )
331332 return imports
332333
333334
334335@dataclass (kw_only = True )
335336class DateSchema (SchemaData ):
336- _type_string : ClassVar [str ] = "date"
337+ # avoid conflict with field name which will cause pydantic analyze error
338+ _type_string : ClassVar [str ] = "_dt.date"
337339
338340 @override
339341 def get_response_type_string (self ) -> str :
@@ -344,31 +346,31 @@ def get_response_type_string(self) -> str:
344346 @override
345347 def get_model_imports (self ) -> set [str ]:
346348 imports = super ().get_model_imports ()
347- imports .add ("from datetime import date " )
349+ imports .add ("import datetime as _dt " )
348350 return imports
349351
350352 @override
351353 def get_type_imports (self ) -> set [str ]:
352354 imports = super ().get_type_imports ()
353- imports .add ("from datetime import date " )
355+ imports .add ("import datetime as _dt " )
354356 return imports
355357
356358 @override
357359 def get_param_imports (self ) -> set [str ]:
358360 imports = super ().get_param_imports ()
359- imports .add ("from datetime import date " )
361+ imports .add ("import datetime as _dt " )
360362 return imports
361363
362364 @override
363365 def get_using_imports (self ) -> set [str ]:
364366 imports = super ().get_using_imports ()
365- imports .add ("from datetime import date " )
367+ imports .add ("import datetime as _dt " )
366368 return imports
367369
368370 @override
369371 def get_response_imports (self ) -> set [str ]:
370372 imports = super ().get_response_imports ()
371- imports .add ("from datetime import date " )
373+ imports .add ("import datetime as _dt " )
372374 return imports
373375
374376
0 commit comments