Hola, tengo un problema:

Tengo un modelo que relaciona el perfil del usuario usando
un ManyToManyField hacia varios modelos (Modelo2 y Modelo1) estos
relacionados entre si usando OneToOneField.

El problema es que solo *logro acceder a un solo dato*, de
la relación ManyToManyField propuesta:

*Modelo:*
*------------------------------------------------------------------*
from django.db import models

class *Modelo1*(models.Model):
    *dato* = models.CharField(max_length=100)

    def __unicode__(self):
        return 'Dato: %s' % (self.dato)

class *Modelo2*(models.Model):
    *relacion2* = models.OneToOneField(Modelo1)

class *UserProfile*(models.Model):

    user = models.ForeignKey(User,unique=True)
    *relacion1* = models.ManyToManyField(Modelo2)
*------------------------------------------------------------------*

*UserProfile* se relaciona a 3 *Modelo2* (ManyToManyField)
*
*
*Modelo2* se relaciona a un* Modelo1 *3 veces diferentes para cada
*dato*(OneToOneField)

A *dato* en *Modelo1* le asigne 3 diferentes entradas en la bd:
    id=1, dato1='abc'
    id=2, dato1='def'
    id=3, dato1='ghi'
*
*
*Desde la vista:*
*------------------------------------------------------------------*
# usuario registrado
usuario = request.user

# Selecciono los objetos de ese usuario en UserProfile
dato = *UserProfile*.objects.get(user=usuario)

# Obtengo todas las ManyToManyField del *UserProfile* hacia* Modelo2*
dato = dat.*relacion1*.all()

# Iterar sobre los datos conseguidos
for elemento in dato:
    datos = elemento.modelo1.dato
*------------------------------------------------------------------*

De esta forma solo me esta retornando 'abc' y no logro hacer que me genere
en una Lista = 'abc','def','ghi'

Preguntas:

   - Se supone que al hacer.all() en la vista estaría sacando todos las
   relacion1, porque no lo hace?
   - De todas estas relaciones porque no logro acceder a cada dato de
   cada relación?

Me podrían ayudar a encontrar el problema, gracias.

Saludos.

-- 
 *Diego Alonso Uribe Gamez*
------------------------------

*Desarrollador web*

Twitter: @DiegoUG <http://www.twitter.com/DiegoUG>

Google+: http://gplus.to/diegoug
------------------------------
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a