FastApi/Pydantic从父表访问多对一关系

2024-09-30 20:31:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的结构:

SqlAlchemy模型

class MPrueba(Base):

    __tablename__ = 'M_pruebas'

    idpruebas = Column(Integer, primary_key=True)
    idfuentes = Column(ForeignKey('M_fuentes.idfuentes', ondelete='RESTRICT', onupdate='RESTRICT'), index=True)

    M_fuente = relationship('MFuente')


class MRegla(Base):

    __tablename__ = 'M_reglas'

    idreglas = Column(Integer, primary_key=True)
    idpruebas = Column(ForeignKey('M_pruebas.idpruebas', ondelete='RESTRICT', onupdate='RESTRICT'), index=True)
    nombre = Column(String(40))

    M_prueba = relationship('MPrueba') 

正如您所看到的,MRegla类上有一个指向MPrueba类的关系。这意味着,当我对MRegla类发出一些get请求时,M_prueba字段应该包含来自MPrueba类的数据。如何从MPrueba类访问该关系??。我想生成一个pydantic模型,如下所示:

MPrueba类的pydantic模式

class Prueba(BaseModel): 
    idpruebas: int
    idfuentes: int
    reglas : # Append the MRegla here

    class Config:
        orm_mode = True

谢谢你的帮助


Tags: key模型truebasecolumnintegerclassprimary
1条回答
网友
1楼 · 发布于 2024-09-30 20:31:53

如果我理解正确的话,我正在处理一个类似的问题。虽然我不确定你是否有多对一的关系,但无论如何

使用先前定义的Pydantic模型:

class MRegla(BaseModel):
    ...

class Prueba(BaseModel): 
    idpruebas: int
    idfuentes: int
    reglas : MRegla

    class Config:
        orm_mode = True

如果您需要MRegla模型的一个子集,请定义一个附加的Pydantic模型,并使用所需字段

相关问题 更多 >