fix record model empty object instantiation

This commit is contained in:
LUIS NOVO 2024-11-20 11:55:48 -03:00
parent 917debeea8
commit 3d6d9c1195

View file

@ -252,16 +252,18 @@ class RecordModel(BaseModel):
object.__setattr__(self, "__dict__", {}) object.__setattr__(self, "__dict__", {})
# Load data from DB first # Load data from DB first
result = repo_query(f"SELECT * FROM {self.record_id};") result = repo_query(f"SELECT * FROM {self.record_id};")
if result:
db_data = result[0] # Initialize empty object with None for all non-ClassVar fields
else:
# Initialize empty object with None for Optional fields
db_data = { db_data = {
field_name: None field_name: None
for field_name, field_info in self.model_fields.items() for field_name, field_info in self.model_fields.items()
if not str(field_info.annotation).startswith("typing.ClassVar") if not str(field_info.annotation).startswith("typing.ClassVar")
} }
# Update with DB data if it exists
if result:
db_data.update(result[0])
# Initialize with DB data and any overrides # Initialize with DB data and any overrides
super().__init__(**{**db_data, **kwargs}) super().__init__(**{**db_data, **kwargs})
object.__setattr__(self, "_initialized", True) object.__setattr__(self, "_initialized", True)