diff --git a/csst_dfs_commons/models/common.py b/csst_dfs_commons/models/common.py index 64ca1aca5396c3adf7261042676e0e8eef74ac38..84e5e62384dc25ccd6d308f55b4938b36dc2dd82 100644 --- a/csst_dfs_commons/models/common.py +++ b/csst_dfs_commons/models/common.py @@ -21,6 +21,8 @@ class BaseModel: return self def from_proto_model(self, record): + if record is None: + return None for k in self.__dataclass_fields__.keys(): self.__setattr__(k, record.__getattribute__(k)) return self diff --git a/csst_dfs_commons/models/facility.py b/csst_dfs_commons/models/facility.py index 26059869ed8afede65f0ba155e455d3714c108d2..ce1aa86f75bc384ae4d02b5330032fb2865e2616 100644 --- a/csst_dfs_commons/models/facility.py +++ b/csst_dfs_commons/models/facility.py @@ -39,21 +39,21 @@ class DetectorStatus(BaseModel): @dataclasses.dataclass class Brick(BaseModel): - id: int = 0 + id: int = -1 ra: float = 0.0 dec: float = 0.0 boundingbox: str="" @dataclasses.dataclass class BrickObsStatus(BaseModel): - brick_id: int = 0 + brick_id: int = -1 band: str="" cover_num: int = 0 update_time: str="" @dataclasses.dataclass class BrickLevel1(BaseModel): - brick_id: int = 0 + brick_id: int = -1 level1_id: int = 0 obs_id: str="" module: str="" @@ -83,7 +83,7 @@ class Level2ProducerRuning(BaseModel): id: int = 0 job_id: int = 0 producer_id: int = 0 - brick_id: int = 0 + brick_id: int = -1 start_time: str="" end_time: str="" prc_status: int = 0