1

J'ai un ListView à base de classe dont je voudrais filtrer les objets par l'utilisateur connecté à user_id depuis le modèle d'objet a une clé étrangère à settings.AUTH_USER_MODELdjango filtrage par ID utilisateur dans ListView à base de classe

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

Dans les vues basées sur les fonctions, je peux le faire en utilisant request.user mais pas dans les vues génériques basées sur les classes. Des idées de la meilleure façon de le faire?

Voici le modèle de l'article

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

double possible de [filtrer Dynamiquement ListView CBV dans Django 1.7] (http://stackoverflow.com/questions/25662374/dynamically-filter-listview-cbv-in-django-1-7) – solarissmoke

Répondre

3

Vous pouvez remplacer get_queryset fonction dans ListView et filtre sur self.request.user

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

Merci Eska, résolu mon problème –