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

662
Visualizações
Django: relación de uno a muchos

Tengo una pregunta sobre el modelado de objetos. Digamos que tenemos una relación de uno a muchos en la que una instancia del objeto A podría tener de 0 a muchos objetos B vinculados, mientras que el objeto B podría estar vinculado a uno y solo un objeto A (tenga en cuenta que el objeto B no se puede crear sin estar vinculado a un objeto B ). Hasta ahora, he agregado una clave externa al modelo del objeto B, al agregar ese objeto, debo seleccionar un Objeto A, hasta ahora todo bien. Mi pregunta ahora es ¿tengo que agregar también el objeto B al modelo del objeto A en el nivel de la base de datos? ¿O debería simplemente hacerlo en el nivel de API creando API anidadas? Entonces, obtener el objeto B sería de esta manera:

 get : http://localhost/api/objectA/objectB

Espero haber sido claro al explicar mi pregunta, pero para resumir, no estoy seguro de si agregar una clave externa para representar a: 0.n---->1.1 es suficiente.

Hace mucho tiempo que no diseñaba una base de datos ¿estoy usando una metodología muy antigua?

Gracias

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

0

Mi pregunta ahora es ¿tengo que agregar también el objeto B al modelo del objeto A en el nivel de la base de datos?

no Si construyó una relación como ForeignKey , puede dejar que Django consulte a la inversa. Así que si tienes dos modelos:

 class A (models.Model): pass class B(models.Model): a = models.ForeignKey(A, on_delete=models.CASCADE)

Entonces puedes obtener todos los objetos B que pertenecen a algún objeto A somea con:

 somea .b_set.all()

Puede cambiar el nombre de la relación a la inversa configurando el parámetro related_name=… [Django-doc] . Entonces puedes especificar la relación como:

 class A(models.Model): pass class B(models.Model): a = models.ForeignKey( A, related_name='bs' , on_delete=models.CASCADE )

y luego consulta con:

 somea .bs .all()
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