Foros del Web » Programando para Internet » Python »

Models, relacion recursiva

Estas en el tema de Models, relacion recursiva en el foro de Python en Foros del Web. Buen día Tengo una duda, necesito que una tabla tenga una relación onetoone con ella misma, la cosa se supone que va así Código: class ...
  #1 (permalink)  
Antiguo 27/05/2012, 21:49
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 19 años, 3 meses
Puntos: 14
Models, relacion recursiva

Buen día

Tengo una duda, necesito que una tabla tenga una relación onetoone con ella misma, la cosa se supone que va así

Código:
class Grupo(models.Model):
	grupo = models.ForeignKey('self')
	nombre =  models.CharField(max_length=50)
Pero me tira error
Cita:
Reverse query name for field "grupo" clashes with field "Grupo.grupo" add a related_name argument to the definition for 'grupo'
Entiendo que debo especificar un "related_name", lo agregué y empezó a funcionar, pero...

No se que hace ese "related_name" y también me gustaría saber que hace el "verbose_name", lei la documentación oficial de django pero me enrede mas :(

Gracias por su ayuda
__________________
Juegos
Juegos iphone
  #2 (permalink)  
Antiguo 27/05/2012, 22:44
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Models, relacion recursiva

1. Cambia el nombre del campo grupo.
2. Seguro que entiendes self-refercences? Si es así, ¿Cual es tu caso base?
3. ¿Que quieres modelar exactamente? Tal vez existen mejores formas de hacerlo.
  #3 (permalink)  
Antiguo 28/05/2012, 15:05
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 19 años, 3 meses
Puntos: 14
Respuesta: Models, relacion recursiva

Quiero modelar un sistema de grupos con niveles de jerarquía, lo que implica que el grupo 3 puede ser padre del grupo 5 y el 5 a su vez puede ser padre del 6

Cita:
Seguro que entiendes self-refercences? Si es así, ¿Cual es tu caso base?
No entiendo eso, me referia a que entiendo que es lo que se debe hacer para que funcione, pero no entiendo que significa
__________________
Juegos
Juegos iphone
  #4 (permalink)  
Antiguo 28/05/2012, 18:27
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Models, relacion recursiva

Necesitas entender el concepto detrás de eso para que saber que tienes que hacer para que funcione.

Dime, ¿que pasa si un grupo no tiene padre?
  #5 (permalink)  
Antiguo 28/05/2012, 20:07
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 19 años, 3 meses
Puntos: 14
Respuesta: Models, relacion recursiva

Ammm, lo he hecho muchas veces, solo que nunca trabajo con llaves foráneas, siempre se hacían las relaciones sin esa vinculación, pero con django es diferente y me gustaría hacer las cosas bien.

Y si un grupo no tiene padre, id_padre seria igual a 0, quiere decir que 0 es el nivel mas alto de jerarquía
__________________
Juegos
Juegos iphone

Etiquetas: 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 11:40.