On Wed, 2009-03-25 at 09:46 -0700, Jesse wrote:
> One research project can have many publications. One model includes
> the research projects, one model includes the publications and a third
> model assigns multiple publications to each research project.
> The model:
> class Researchproject(models.Model):
> restitle = models.TextField()
>
> class Publication(models.Model):
> pubtitle = models.TextField()
>
> class Researchpublications(models.Model):
> researchproject = models.ForeignKey(Researchproject)
> publication = models.ForeignKey(Publication)
>
> In the view.py the research projects are selected and appended into a
> list called:
> research_list
>
> In the view I created this statement:
> respublications=Researchproject.objects.filter
> (researchpublications__researchproject=research_list), which doesn't
> get any errors, but also doesn't seem to do what I need it to do.
The problem here is in the filter constraint. The left-hand side of a
"thing=value" filter is talking about individual "things", so an
individual ResearchProject record in this case. That's a long way of
saying that you need to use the "__in" lookup type here:
....filter(researchpublications__researchproject__in=research_list)...
I think you'll find that will do what you're after. Right now (with your
current filter), not ResearchProject row will be equal to the list of
values on the right-hand side of the filter.
Regards,
Malcolm
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---