Fix circular reference recursion in JSON serialization

Dataclass models have parent back-references (TrackLayout→Circuit→
Locality→Country) causing infinite recursion in dataclasses.asdict().
Add to_dict() methods that exclude parent refs, use them in API endpoints.
This commit is contained in:
2026-05-08 03:01:42 +02:00
parent 40d92983ed
commit 83311a6079
5 changed files with 34 additions and 5 deletions
+7
View File
@@ -12,6 +12,13 @@ class Locality:
country: 'Country'
circuits: dict[str, Circuit]
def to_dict(self) -> dict:
return {
"slug": self.slug,
"name": self.name,
"circuits": {k: v.to_dict() for k, v in self.circuits.items()},
}
@classmethod
def from_dict(cls, country: 'Country', slug: str, data: dict):
locality = cls(