Foros del Web » Programando para Internet » Python »

Base de datos

Estas en el tema de Base de datos en el foro de Python en Foros del Web. Hola compañeros, No se si será el lugar correcto para preguntar esto, pero la app la estoy desarrollando en django y me vine para acá. ...
  #1 (permalink)  
Antiguo 04/03/2015, 05:53
Avatar de wolvelopez  
Fecha de Ingreso: junio-2008
Mensajes: 86
Antigüedad: 15 años, 10 meses
Puntos: 0
Base de datos

Hola compañeros,
No se si será el lugar correcto para preguntar esto, pero la app la estoy desarrollando en django y me vine para acá.
El caso es que dudo con la relacción entre dos tablas.
Imaginaos que tengo una tabla usuarios y que cada usuario puede tener una relaccion de confianza con otro usuario o con varios usuarios de esa misma tabla.
No se realmente como expresar esto en la Base de datos.
¿Creéis que lo mas lógico es crear una tabla aparte que se llame por ejemplo, confianza y que tenga dos campos con dos foreignKey a los usuarios?
Ej:

Confianza
------------------------
id(ya lo pone django)
usuario(foreignkey a usuarios)
usuario_amigo(foreignkey a usuarios)

¿Sería esta la mejor forma?

Saludos y gracias de antemano.
__________________
# "El software es un gas: se expande hasta llenar su contenedor"
-- Nathan Myhrvold
  #2 (permalink)  
Antiguo 04/03/2015, 07:28
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Base de datos

Hace tiempo que no toco nada de Django, pero no es esto el motivo por el que existe ManyToMany?
  #3 (permalink)  
Antiguo 04/03/2015, 09:22
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Base de datos

Cita:
Iniciado por AlvaroG Ver Mensaje
Hace tiempo que no toco nada de Django, pero no es esto el motivo por el que existe ManyToMany?
Así es, exactamente lo que esta pidiendo el usuario es una relación many-to-many y se puede implementar tal como lo mencionas, con el campo convenientemente llamado ManyToManyField
  #4 (permalink)  
Antiguo 05/03/2015, 05:21
Avatar de wolvelopez  
Fecha de Ingreso: junio-2008
Mensajes: 86
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Base de datos

Vale, gracias por contestar.
voy a seguir con ellos pues a ver si sigo aprendiendo Django.
__________________
# "El software es un gas: se expande hasta llenar su contenedor"
-- Nathan Myhrvold
  #5 (permalink)  
Antiguo 06/03/2015, 05:57
Avatar de wolvelopez  
Fecha de Ingreso: junio-2008
Mensajes: 86
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Base de datos

Pues al final lo he dejado asi, pero no tengo claro que sea la forma correcta:
Cita:
from django.db import models
from django.contrib.auth.models import User

# Create your models here.

class Usuario(models.Model):
user = models.OneToOneField(User)


class Amigo(models.Model):
usuarios = models.ManyToManyField(Usuario)
amigos = models.


class Rega(models.Model):
nombre = models.CharField(max_length=100)
enlace_co = models.CharField(max_length=200)
amigo_en = models.OneToOneField(User)
¿Como lo veis?
__________________
# "El software es un gas: se expande hasta llenar su contenedor"
-- Nathan Myhrvold

Etiquetas: bbdd, django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:07.