Заменен [] на Field(default_factory=list) для списков в pydantic-моделях, чтобы избежать shared mutable default

This commit is contained in:
Денис Семёнов 2025-07-24 01:30:28 +03:00
parent d731e5e905
commit 5ad37b8adf
3 changed files with 6 additions and 6 deletions

View File

@ -1,4 +1,4 @@
from pydantic import BaseModel, field_validator from pydantic import BaseModel, Field, field_validator
from typing import Dict, List, Optional from typing import Dict, List, Optional
from datetime import datetime from datetime import datetime
@ -96,7 +96,7 @@ class Chats(BaseModel):
marker (Optional[int]): Маркер для пагинации. Может быть None. marker (Optional[int]): Маркер для пагинации. Может быть None.
""" """
chats: List[Chat] = [] chats: List[Chat] = Field(default_factory=list)
marker: Optional[int] = None marker: Optional[int] = None

View File

@ -103,7 +103,7 @@ class MessageBody(BaseModel):
Location Location
] ]
] ]
] = [] ] = Field(default_factory=list)
markup: Optional[ markup: Optional[
List[ List[
@ -111,7 +111,7 @@ class MessageBody(BaseModel):
MarkupLink, MarkupElement MarkupLink, MarkupElement
] ]
] ]
] = [] ] = Field(default_factory=list)
class MessageStat(BaseModel): class MessageStat(BaseModel):

View File

@ -1,6 +1,6 @@
from typing import List, Optional, TYPE_CHECKING, Union from typing import List, Optional, TYPE_CHECKING, Union
from pydantic import BaseModel from pydantic import BaseModel, Field
from .update import Update from .update import Update
@ -52,7 +52,7 @@ class MessageForCallback(BaseModel):
Share Share
] ]
] ]
] = [] ] = Field(default_factory=list)
link: Optional[NewMessageLink] = None link: Optional[NewMessageLink] = None
notify: Optional[bool] = True notify: Optional[bool] = True
format: Optional[ParseMode] = None format: Optional[ParseMode] = None