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
Post a Comment