Thanks.  Is this way good for database optimization though?  I guess I
could use select_related().  I was hoping there was a QuerySet I could
run.

I made this one, although I'm not sure if it works correctly:

Person.objects.filter(name='Person1').filter(friends__friends__name='Person0')
This outputs "Person1", if I interchange Person0 with Person2, it
outputs no results.  If I use Person1 in both instances, it outputs
'Person1'.
Does this QuerySet return the results I want, or should I use Brett's
suggestion?

Thanks again.

On Oct 28, 1:21 pm, Brett Epps <[email protected]> wrote:
> Try this:
>
> for friendof0 in Person0.friends.all():
>     for friendof1 in Person1.friends.all():
>         if friendof0 == friendof1:
>             # Person 0 and Person 1 share a friend.
>         else:
>             # They have no shared friends.
>
> Brett
>
> On 10/28/11 12:59 PM, "Kevin" <[email protected]> wrote:
>
> >Just thought I'd add another example using Python script:
>
> >Person0 = Person()
> >Person1 = Person()
> >Person2 = Person()
> >Person0.friends.add(Person2)
> >Person2.friends.add(Person0)
> >Person2.friends.add(Person1)
> >Person1.friends.add(Person2)
>
> >Now, I would like to do the following, but it seems to fail:
>
> >Person0.friends.all() in Person1.friends.all().  I would like it to
> >say if Person0 and Person1 share another friend in common.
>
> >Person0 and Person2 are friends
> >Person1 and Person2 are friends
> >Person0 and Person1 are NOT friends, but share a friend in common.
> >How does one find out that even though Person0 and Person1 are not
> >friends, they do share Person2 as a friend.
>
> >I can use my eye on a Python shell to see that Person2 exists on both
> >Peson0 and Person1, but how does one make the code see it?
>
> >Sorry for having to clarify this so much, I'm just not sure that my
> >last post actually explained it properly.
>
> >Thanks.
>
> >On Oct 28, 12:30 pm, Kevin <[email protected]> wrote:
> >> Hello,
>
> >>   I am building a model which shares a relation with another model
> >> using a ManyToManyField.  What I need to do, is find out which models
> >> are on both on two seperate ManyToManyField lists.  Here is a simple
> >> example of what I am trying to do:
>
> >> Person:
> >>   friends=ManyToManyField(self)
>
> >> To find out this persons direct friends, Person.friends...
> >> To find out which friends this Person shares in common with another
> >> Person, ????
>
> >> Person0:
> >>   Person1
> >>   Person6
> >>   Person3
> >>   Person8
>
> >> Person1:
> >>   Person2
> >>   Person6
>
> >> What would be the most optimized QuerySet to find out that both
> >> Person0 and Person1 are both friends with Person6?
>
> >> Is there a specific Django app perhaps that can ease develop of this
> >> type of data relations between objects?
>
> >> Thanks.
>
> >--
> >You received this message because you are subscribed to the Google Groups
> >"Django users" group.
> >To post to this group, send email to [email protected].
> >To unsubscribe from this group, send email to
> >[email protected].
> >For more options, visit this group at
> >http://groups.google.com/group/django-users?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to