add fix
This commit is contained in:
parent
340ecb4b39
commit
426cc1025c
@ -18,7 +18,7 @@ async def bulk_create_success_reasons(
|
||||
Success
|
||||
)
|
||||
.values(
|
||||
[chat.model_dump() for chat in success_schema.success]
|
||||
[chat.model_dump_without_duplicate() for chat in success_schema.success]
|
||||
)
|
||||
)
|
||||
await session.execute(stmt)
|
||||
|
@ -1,3 +1,5 @@
|
||||
from uuid import UUID
|
||||
|
||||
from pydantic import BaseModel, PositiveInt, NegativeInt, UUID4
|
||||
|
||||
|
||||
@ -9,3 +11,24 @@ class SuccessChatFromAiSchema(BaseModel):
|
||||
|
||||
class ResponseFromGeminiSchema(BaseModel):
|
||||
success: list[SuccessChatFromAiSchema] | None
|
||||
|
||||
def model_dump_without_duplicate(self) -> dict:
|
||||
if not self.success:
|
||||
return self.model_dump()
|
||||
|
||||
# Словарь для хранения уникальных элементов по slice_id
|
||||
unique_items: dict[UUID, SuccessChatFromAiSchema] = {}
|
||||
|
||||
for item in self.success:
|
||||
if item.slice_id is not None:
|
||||
if item.slice_id not in unique_items:
|
||||
unique_items[item.slice_id] = item
|
||||
|
||||
filtered_success = list(unique_items.values())
|
||||
|
||||
return {
|
||||
"success": [
|
||||
item.model_dump()
|
||||
for item in filtered_success
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user