Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

327
Visualizações
Obtener datos de la tabla en función de la identificación de otra tabla fastAPI y sqlalchemy

Quiero hacer una operación de base de datos donde tengo 2 tablas (Table1 y Table2). Hay una columna "id" en Table1 y en table2 tengo 4 columnas (id, server, port, endpoint). Entonces, quiero comparar la identificación de ambas tablas y, si coincide, quiero detalles del servidor, el puerto y el punto final. Estoy usando fastAPI con sqlalchemy.

El archivo del modelo es algo como esto.

 #Table1 class RD(Base): __tablename__ = "table1" id = Column(String, unique=True, index=True, nullable=False)
 #Table2 class AD(Base): __tablename__ = "table2" id = Column(String, unique=True, index=True, nullable=False) server = Column(String(100), index=True, nullable=False) port = Column(String, index=True, nullable=False) endpoint = Column(String, index=True, nullable=False)

Ahora quiero comparar las identificaciones de la tabla y, si coinciden, quiero imprimir el servidor, el puerto y el punto final de la tabla 2. Además, no quiero escribir consultas SQL sin procesar. Quiero escribir una consulta basada en ORM.

mi archivo de conexión de base de datos

Gracias.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Probé su código con algunas modificaciones porque algunas líneas me dieron un error en la definición de la columna de identificación y para el nombre de la tabla 1 ("respuesta")

 class Table1(Base): __tablename__ = "table1" id = Column(String, primary_key=True, index=True) class Table2(Base): __tablename__ = "table2" id = Column(String, primary_key=True, index=True) server = Column(String(100), index=True, nullable=False) port = Column(String, index=True, nullable=False) endpoint = Column(String, index=True, nullable=False) # Insert few rows in tables db.add(Table1(id=1)) db.add(Table1(id=2)) db.add(Table1(id=3)) db.add(Table2(id=1, server='localhost', port=8000, endpoint='/home')) db.add(Table2(id=2, server='localhost', port=8000, endpoint='/cart')) db.add(Table2(id=5, server='localhost', port=8000, endpoint='/item')) db.commit()

ahora cuando ejecuto esta consulta:

 result = db.query(Table2).filter(Table1.id == Table2.id).all() for row in result: print(row.server, row.port, row.endpoint)

Obtuve las filas de la tabla 2 con identificaciones iguales a la identificación en la tabla 1

 localhost 8000 /home localhost 8000 /cart
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda