1

У меня есть на основе ListView класса, о котором я хотел бы, чтобы отфильтровать объекты вошедших в user_id, поскольку модель товара имеет внешний ключ к settings.AUTH_USER_MODELДжанго фильтрации по идентификатору пользователя в ListView на основе класса

class ItemListView(LoginRequiredMixin, StaffRequiredMixin, ListView): 
    model = Item 
    template_name = "items/list_items.html" 

В представлении, основанном на функциях, я могу сделать это с помощью request.user, но не в общих представлениях класса. Любые идеи о том, как лучше всего это сделать?

Вот модель товара

class Item(models.Model): 
    user = models.ForeignKey(settings.AUTH_USER_MODEL) 
    description = models.CharField(max_length=300) 
+0

Возможный дубликат [динамической фильтрации ListView ОЦК в Django 1.7] (http://stackoverflow.com/questions/25662374/dynamically-filter-listview-cbv-in-django-1-7) – solarissmoke

ответ

3

Вы можете переопределить функцию get_queryset в ListView и фильтр на self.request.user

def get_queryset(self): 
    return Item.objects.filter(user=self.request.user) 
+0

Спасибо Eska, решил мою проблему –