How do I get the current user for my created_by field in Django 1.9? -


i'm trying pull session user model's save() method. the docs httprequest , examples i've found assume have object instanciated, can't seem find method instanciation.

i'm thinking should using httprequest.user , don't know how generate instance in model can it.

here's save() override. generates type object 'httprequest' has no attribute 'user', considering class , not object reference isn't surprising.:

def save(self, *args, **kwargs):     ''' on save, update timestamps '''     if not hasattr(self, 'id'):         self.date_created = timezone.now()         self.created_by = httprequest.user      self.last_updated_date = timezone.now()     self.last_updated_by = httprequest.user      super(caregiver, self).save(*args, **kwargs) 

views.py added more info

class caregivercreateview(createview):     template_name = 'single_form_generic.html'     model = caregiver     form_class = caregivercreateform 

django-cuser can easily. library adds middleware can called in view, model method, etc current user. if ok user being assigned @ model's save method, need call middleware inspect session below.

once set up, can called this:

from cuser.middleware import cusermiddleware  class yourmodel(models.model):     def save(self, *args, **kwargs):         self.created_by = cusermiddleware.get_user()         super(yourmodel,self).save(*args, **kwargs) 

Comments