and i solved it in the view. dont know if this is the right way but it
works:
def topic_detail(request, slug):
topic = get_object_or_404(Topic, slug=slug)
t = topic.project_set.all()
techlist = []
for p in t:
for t in p.technologies.all():
if t in techlist:
pass
else:
techlist.append(t)
return object_list(request,
queryset=topic.project_set.all(),
template_name='myapp/topic_detail.html',
extra_context={'object': topic, 'techlist':
techlist })
On Dec 10, 12:18 pm, andreas schmid <[email protected]> wrote:
> ok im still stucking on this one:
>
> i dont think the regroup tag can help in this case....
> but i cant understand how i can query the technologies used within a
> specific topic.
>
> i mean i have alredy the projects assigned to this topic, now i need the
> technologies used by this projects.
>
> any ideas?
>
> Tim Valenta wrote:
> > It looks like the problem is that you're trying to group by
> > Technology, but your queryset is in Projects. You could experiment
> > with the "regroup" template tag
> > (http://docs.djangoproject.com/en/dev/ref/templates/builtins/#regroup
> > )
>
> > It's a little hard to understand at first, but I think it's pretty
> > much what you're trying to do. You would be able to remove the
> > ".distinct" part of your query because dictionary keys are already
> > can't be doubled.
>
> > Hope that helps.
>
> > Tim
>
> > On Nov 26, 7:04 am, andreas schmid <[email protected]> wrote:
>
> >> hi,
>
> >> i have a question about retrieving related objects avoiding double entries.
> >> actually i have 3 models:
> >> topics
> >> projects
> >> technologies
>
> >> the projects model has foreignkeys to topics and technologies. i have a
> >> view for the topic detail like this:
>
> >> def topic_detail(request, slug):
> >> topic = get_object_or_404(Topic, slug=slug)
> >> return object_list(request,
> >> queryset=topic.project_set.all(),
> >> paginate_by=20,
> >> template_name='FSlabs/topic_detail.html',
> >> extra_context={ 'topic': topic })
>
> >> in the template i can loop trough the projects and get those assigned
> >> to this topic.
> >> but im having problems to retrieve the technologies used by those
> >> projects without having double entries.
>
> >> i tried this in the template with a list for every project
> >> assigned...which of course is not what i want:
>
> >> {% for project in object_list %}
> >> {% for technology in project.technologies.distinct %}
> >> <a href="{{ technology.get_absolute_url }}">{{
> >> technology.title }}</a>
> >> {% if forloop.last %}{% else %}
> >> {% ifequal forloop.revcounter0 1 %}and {% else %}, {%
> >> endifequal %}
> >> {% endif %}
> >> {% endfor %}
> >> {% endfor %}
>
> >> can somebody point me to the right way to get what i need?
>
> >> thx
>
> > --
>
> > 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
> > athttp://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.