ciyidogan commited on
Commit
8fe6b8c
·
verified ·
1 Parent(s): d1858a6

Update config_models.py

Browse files
Files changed (1) hide show
  1. config_models.py +15 -6
config_models.py CHANGED
@@ -6,12 +6,21 @@ from datetime import datetime
6
  from pydantic import BaseModel, Field
7
 
8
  class BaseModelWithDatetime(BaseModel):
9
- """Base model with datetime serialization support"""
10
- class Config:
11
- json_encoders = {
12
- datetime: lambda v: v.isoformat() if v else None
13
- }
14
-
 
 
 
 
 
 
 
 
 
15
  # ===================== User & Auth =====================
16
  class UserConfig(BaseModelWithDatetime):
17
  username: str
 
6
  from pydantic import BaseModel, Field
7
 
8
  class BaseModelWithDatetime(BaseModel):
9
+ """Base model with consistent datetime serialization"""
10
+
11
+ @field_serializer('created_date', 'last_update_date', 'publish_date', 'timestamp')
12
+ def serialize_datetime(self, dt: Optional[datetime], _info) -> Optional[str]:
13
+ """Serialize datetime fields to consistent ISO format"""
14
+ if dt is None:
15
+ return None
16
+ if isinstance(dt, str):
17
+ # String ise normalize et
18
+ return dt.replace(' ', 'T')
19
+ if isinstance(dt, datetime):
20
+ # Datetime objesi ise ISO formatına çevir
21
+ return dt.isoformat()
22
+ return str(dt)
23
+
24
  # ===================== User & Auth =====================
25
  class UserConfig(BaseModelWithDatetime):
26
  username: str