From 4863b8fafb62ad4ec862c367551ed4b578d9c449 Mon Sep 17 00:00:00 2001 From: cfdaily Date: Mon, 18 May 2026 18:07:23 +0800 Subject: [PATCH] auto-sync: 2026-05-18 18:07:23 --- src/blackboard/models.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/blackboard/models.py b/src/blackboard/models.py index c05acbb..b155206 100644 --- a/src/blackboard/models.py +++ b/src/blackboard/models.py @@ -40,7 +40,8 @@ class Task: @classmethod def from_row(cls, row: Any) -> Task: - return cls(**{k: row[k] for k in row.keys()}) + valid_keys = {f.name for f in cls.__dataclass_fields__.values()} + return cls(**{k: row[k] for k in row.keys() if k in valid_keys}) @dataclass @@ -55,7 +56,8 @@ class Comment: @classmethod def from_row(cls, row: Any) -> Comment: - return cls(**{k: row[k] for k in row.keys()}) + valid_keys = {f.name for f in cls.__dataclass_fields__.values()} + return cls(**{k: row[k] for k in row.keys() if k in valid_keys}) @dataclass @@ -73,7 +75,8 @@ class Output: @classmethod def from_row(cls, row: Any) -> Output: - return cls(**{k: row[k] for k in row.keys()}) + valid_keys = {f.name for f in cls.__dataclass_fields__.values()} + return cls(**{k: row[k] for k in row.keys() if k in valid_keys}) @dataclass @@ -88,7 +91,8 @@ class Decision: @classmethod def from_row(cls, row: Any) -> Decision: - return cls(**{k: row[k] for k in row.keys()}) + valid_keys = {f.name for f in cls.__dataclass_fields__.values()} + return cls(**{k: row[k] for k in row.keys() if k in valid_keys}) @dataclass @@ -104,7 +108,8 @@ class Observation: @classmethod def from_row(cls, row: Any) -> Observation: - return cls(**{k: row[k] for k in row.keys()}) + valid_keys = {f.name for f in cls.__dataclass_fields__.values()} + return cls(**{k: row[k] for k in row.keys() if k in valid_keys}) @dataclass @@ -118,7 +123,8 @@ class Event: @classmethod def from_row(cls, row: Any) -> Event: - return cls(**{k: row[k] for k in row.keys()}) + valid_keys = {f.name for f in cls.__dataclass_fields__.values()} + return cls(**{k: row[k] for k in row.keys() if k in valid_keys}) @dataclass