As you can see from my template below, i have a list of users who posted items and I would like to get the list of items for each user. However, using the view below I only get the list for the current logged user. How can I modify my views.py so that it filters items for each one of the listed users?
my template.html
<div>
{% if user %}
<u class='tags' style = "list-style: none; margin: 0; padding: 0px 0px 10px 10px; line-height: 170%; display: block;">
{% for user in user_list %}
{% if user.item_set.count > 0 %}
<a href="{% url 'item-user' %}" title="{{ user.get_username }}">
{{ user.username }} [{{ user.item_set.count }}]<br/>
</a>
{% endif %}
{% endfor %}
</u>
{% endif %}
</div>In addition the DCF proxy user class in the models.py is below :
class DcfUser(User):
class Meta:
proxy = True
def allow_add_item(self):
if self.item_set.count() > settings.DCF_ITEM_PER_USER_LIMIT:
return False
else:
return Trueclass based views.py
class UserItemsView(ListView):
template_name = 'dcf/template.html'
def get_queryset(self):
return Item.objects.filter()Thank you
Please show all relevant bits of the code (user_list is not part handed off to the template).
But you could start but not naming 2 different variables inside eachother's scope identical.
On Tuesday 04 July 2017 09:36:51 Nabil BOUDERBALA wrote:
> {% if user %}
> {% for user in user_list %}
--
Melvyn Sopacua
def itemuserfunc(request, user):
template = get_template('dcf/user_item_list_noedit.html')
profile_owner = DcfUser.objects.filter(username=user) # Assuming you have entry in your database
item_list = Item.objects.filter(user = profile_owner)
return template.render(Context({'item_list': item_list}))