On Jul 28, 2010, at 2:29 PM, kostia wrote:
> I have a model Favourite with fields User, Project, Date, what means
> that some user put some project as favourite on some date. I take all
> favourites filtered by this user and I want to INNER JOIN that info
> with Project model. How can I do that?
>
> Something like projects = Favourite.objects.filter(user =
> request.user).inner_join(Project, project)
Try not to think to relational, Django's models are OO.
To get the projects, you can do:
projects = Project.objects.filter(favourites__user = request.user)
To get something more like the join:
favourites = Favourites.objects.filter(user = request.user)
And then, if you need a project for any favourite, do
favourite.project. If you want, you can also do:
fav_and_projs = ((f, f.project) for f in favourites)
Note that you can use "select_related('project')" if performance is an
issue for you.
Cheers, Roald
--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment