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??. Я хочу создать такую питантическую модель:
пидантическая схема для класса MPrueba
class Prueba(BaseModel):
idpruebas: int
idfuentes: int
reglas : # Append the MRegla here
class Config:
orm_mode = True
Спасибо за вашу помощь.
1 ответ
У меня аналогичная проблема, если я правильно понимаю. Хотя я не уверен, что у вас отношения многие к одному, но тем не менее.
Используйте свою ранее определенную модель Pydantic:
class MRegla(BaseModel):
...
class Prueba(BaseModel):
idpruebas: int
idfuentes: int
reglas : MRegla
class Config:
orm_mode = True
Если вам нужно подмножество модели MRegla, определите дополнительную модель Pydantic с необходимыми полями и используйте ее.