python - FastApi/Pydantic 从父表访问多对一关系
问题描述
我有这样的结构:
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 类上发出一些获取请求时,M_prueba 字段应该包含来自 MPrueba 类的数据。如何从 MPrueba 类访问该关系?我想生成一个像这样的 pydantic 模型:
MPrueba 类的 pydantic 模式
class Prueba(BaseModel):
idpruebas: int
idfuentes: int
reglas : # Append the MRegla here
class Config:
orm_mode = True
谢谢你的帮助。
解决方案
如果我理解正确,我正在处理类似的问题。尽管我不确定您是否有多对一的关系,但无论如何。
使用您之前定义的 Pydantic 模型:
class MRegla(BaseModel):
...
class Prueba(BaseModel):
idpruebas: int
idfuentes: int
reglas : MRegla
class Config:
orm_mode = True
如果您需要 MRegla 模型的一个子集,请定义一个包含必填字段的附加 Pydantic 模型并使用它。
推荐阅读
- scala - Apache Flink:ProcessWindowFunction 实现
- javascript - 平面数组到深层嵌套对象数组
- javascript - 如何从 API 中获取方法?
- c++ - 在 CLion 中更改 C++ 的变量命名样式
- arrays - 将哈希键值对的值推入数组
- django - 在 django 中保存 blob 会创建一个大小为 0 的文件
- bash - 如何在 AWK 脚本中使用空格转义 shell 变量
- python - Python 可以识别出它以交互方式运行的文件的更改吗?
- html - 在打印 css 中设置图像最大高度
- opencv - 如何在 bazel BUILD 脚本文件中添加 *.i 文件