Que es un CurrentUser y para que diablos me puede servir??
Cuando tenemos una aplicación en Django donde manejamos sesiones la mayor parte de las veces ocupamos saber que usuario es el que se encuentra loggeado para realizar alguna acción con la base de datos, ese es el CurrentUser (Usuario Actual)
Como solucionarlo sin hacer nuestras propias funciones ?(No reinvanetar la rueda)
Muy facil con esta libreria
django-cuser
Como instalar ?
$ pip install django-cuser
No se nos olvide agregarlo a nuestras aplicaciones en settings.py
Como lo uso?
1.- Si quiero que se guarde automaticamente el usuario loggeado a un modelo:
from django.db import models from cuser.fields import CurrentUserField # Create your models here. class Categoria(models.Model): descripcion=models.CharField(max_length=50) usuario = CurrentUserField() def __unicode__(self): return self.descripcion
2.-Si quiero obtener el usuario para hacer una consulta
from cuser.middleware import CuserMiddleware from django.views.generic import ListView from .models import Categoria class Categorias(ListView): template_name = "categorias.html" model = Categoria context_object_name = "categorias" def get_queryset(self): user = CuserMiddleware.get_user() queryset=super(Categorias,self).get_queryset().filter(usuario=user).order_by('id') return queryset






