add fix
This commit is contained in:
parent
340ecb4b39
commit
426cc1025c
@ -18,7 +18,7 @@ async def bulk_create_success_reasons(
|
|||||||
Success
|
Success
|
||||||
)
|
)
|
||||||
.values(
|
.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)
|
await session.execute(stmt)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
from uuid import UUID
|
||||||
|
|
||||||
from pydantic import BaseModel, PositiveInt, NegativeInt, UUID4
|
from pydantic import BaseModel, PositiveInt, NegativeInt, UUID4
|
||||||
|
|
||||||
|
|
||||||
@ -9,3 +11,24 @@ class SuccessChatFromAiSchema(BaseModel):
|
|||||||
|
|
||||||
class ResponseFromGeminiSchema(BaseModel):
|
class ResponseFromGeminiSchema(BaseModel):
|
||||||
success: list[SuccessChatFromAiSchema] | None
|
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