Never mind.  Tiago Serafim's reply answered my question for me.

Follow on question: say I want to make a 2-dimensional table of the
dates when people joined bands.  I'd have code that looks like this.

for p in Person.objects.all():
    for g in Group.objects.all():
        date = Membership.objects.get(person=p, group=g).join_date
        ...

Am I making (person x group) database calls here?  This is impression
I get from reading:

http://docs.djangoproject.com/en/dev/ref/models/querysets/#id1

Is this inefficient?  Is there a way to do this with a single database
call?


On Sep 14, 11:43 am, "W.P. McNeill" <bill...@gmail.com> wrote:
> Or maybe another way of asking this, since I don't want to force you
> to write Python code just to answer my question...
>
> If I have the music group model written as shown in the Django
> documentation is it possible to write a model API statement that gets
> me this information, or would I have to add fields to the model?
>
> Thanks.
>
> On Sep 14, 9:46 am, Alexandru-Emil Lupu <gang.al...@gmail.com> wrote:
>
>
>
> > basically you would have to make a ManyToMany relation thru a class. In that
> > class you make m,n,date field
> > After that you just use a query to answer the question: Who (Paul)? joined
> > to whom (Beatles), and after that will pop up the ManyToMany date field that
> > will answer to question "when".
>
> > I am preety new in django my self .. and i don't know pretty well how to do
> > it...
>
> > On Mon, Sep 14, 2009 at 6:21 PM, W.P. McNeill <bill...@gmail.com> wrote:
>
> > > I can't figure out how to query the values of fields in a ManyToMany
> > > "through" table.
>
> > > For instance, say I'm working with the Beatles database in the Django
> > > documentation (http://docs.djangoproject.com/en/dev/topics/db/models/
> > > #extra-fields-on-many-to-many-relationships<http://docs.djangoproject.com/en/dev/topics/db/models/%0A#extra-field...>).
> > >  I want to be able to
> > > query the date on which Paul joined the Beatles.  (As opposed to when
> > > Ringo joined the Beatles, or when Paul joined Wings.)  Basically I
> > > want to treat the Group table as a two-dimensional array, look up:
>
> > > Group[Beatles][Paul].date_joined
>
> > > and have it return:
>
> > > date(1960, 8, 1)
>
> > > I'd think this would be easy to do, but I've been playing around with
> > > the command-line database API and I can't figure it out.  The
> > > documentation I've seen describes how to use a Membership field as a
> > > filter criteria, but not how to look up the actual value.
>
> > --
> > As programmers create bigger & better idiot proof programs, so the universe
> > creates bigger & better idiots!
> > I am on web:  http://www.alecslupu.ro/
> > I am on twitter:http://twitter.com/alecslupu
> > I am on linkedIn:http://www.linkedin.com/in/alecslupu
> > Tel: (+4)0748.543.798
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to