Tuesday, July 4, 2017

Class Based Views : filter items by users

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 True

class based views.py

class UserItemsView(ListView):  template_name = 'dcf/template.html'  def get_queryset(self):     return Item.objects.filter()

Thank you

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/53b06618-1de5-445e-a0ed-095ffc3dcd75%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment