modify structure

This commit is contained in:
Robin COuret
2026-02-12 10:33:22 +01:00
parent f270a31fa4
commit 46539909dc
34 changed files with 97 additions and 80 deletions

View File

@@ -0,0 +1,9 @@
from sqlmodel import Field, SQLModel, Relationship
#TODO : add pydantic validation
class Knowledge(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
content: str = Field(index=True)
uri: str = Field(index=True)
questions: list["Question"] = Relationship(back_populates="knowledge", cascade_delete=True) # type: ignore

View File

@@ -0,0 +1,12 @@
from sqlmodel import Field, SQLModel, Relationship
from src.app.models.question import Question
#TODO : add pydantic validation
class Metric(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
question_id: int | None = Field(default=None, foreign_key="question.id", ondelete="CASCADE")
question: Question | None = Relationship(back_populates="metrics")
need_index: int

View File

@@ -0,0 +1,12 @@
from sqlmodel import Field, SQLModel, Relationship
from src.app.models.knowledge import Knowledge
#TODO : add pydantic validation
class Question(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
question:str
knowledge_id: int | None = Field(default=None, foreign_key="knowledge.id", ondelete="CASCADE")
knowledge: Knowledge | None = Relationship(back_populates="questions")
metrics: list["Metric"] = Relationship(back_populates="question", cascade_delete=True) # type: ignore