Skip to content

Commit 017c68d

Browse files
authored
Update models.py
1 parent 553c3dd commit 017c68d

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

src/ix_style/core/models.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,23 @@ def utc_now() -> datetime:
2828
def _primitive(value: Any) -> Any:
2929
"""Convert dataclasses, enums, and datetimes into JSON-friendly primitives."""
3030
if is_dataclass(value):
31-
return {key: _primitive(item) for key, item in asdict(value).items()}
31+
return {
32+
key: _primitive(item)
33+
for key, item in asdict(value).items()
34+
if item is not None
35+
}
3236
if isinstance(value, datetime):
3337
return value.isoformat()
3438
if hasattr(value, "value"):
3539
return value.value
3640
if isinstance(value, list):
37-
return [_primitive(item) for item in value]
41+
return [_primitive(item) for item in value if item is not None]
3842
if isinstance(value, dict):
39-
return {key: _primitive(item) for key, item in value.items()}
43+
return {
44+
key: _primitive(item)
45+
for key, item in value.items()
46+
if item is not None
47+
}
4048
return value
4149

4250

0 commit comments

Comments
 (0)