mirror of
https://github.com/lfnovo/open-notebook.git
synced 2026-04-29 20:10:07 +00:00
fix: resolve chat model selection and session display issues
- Add nullable_fields support to ObjectModel base class - Configure ChatSession to allow model_override to be cleared to null - Fix JSX conditional that rendered "0" when message_count was 0 - Display model name instead of raw ID in session manager Fixes issues: 1. Switching to default model now persists correctly 2. Session list shows human-readable model names 3. Sessions with 0 messages no longer show "0" badge
This commit is contained in:
parent
33b8f7a2b8
commit
e11f0a4db8
3 changed files with 26 additions and 9 deletions
|
|
@ -25,6 +25,7 @@ T = TypeVar("T", bound="ObjectModel")
|
|||
class ObjectModel(BaseModel):
|
||||
id: Optional[str] = None
|
||||
table_name: ClassVar[str] = ""
|
||||
nullable_fields: ClassVar[set[str]] = set() # Fields that can be saved as None
|
||||
created: Optional[datetime] = None
|
||||
updated: Optional[datetime] = None
|
||||
|
||||
|
|
@ -167,7 +168,11 @@ class ObjectModel(BaseModel):
|
|||
|
||||
def _prepare_save_data(self) -> Dict[str, Any]:
|
||||
data = self.model_dump()
|
||||
return {key: value for key, value in data.items() if value is not None}
|
||||
return {
|
||||
key: value
|
||||
for key, value in data.items()
|
||||
if value is not None or key in self.__class__.nullable_fields
|
||||
}
|
||||
|
||||
async def delete(self) -> bool:
|
||||
if self.id is None:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue