Джанго: Получить текущий пользователь в модели сохранить
Я хочу получить зарегистрированного пользователя (request.user
) вsave
метод models.py. Я хочу проверить роль пользователя и посмотреть, может ли он выполнять некоторые операции в зависимости от его роли.
models.py:
class TimeSheet(models.Model):
check_in_time = models.TimeField()
check_out_time = models.TimeField()
class Tasks(models.Model):
time_sheet = models.ForeignKey(TimeSheet)
project = models.ForeignKey(Project)
start_time = models.TimeField()
end_time = models.TimeField()
def save(self, *args,**kwargs):
project = SpentTime.objects.get(project__project__id = self.project.id)
start = datetime.datetime.strptime(str(self.start_time), '%H:%M:%S')
end = datetime.datetime.strptime(str(self.end_time), '%H:%M:%S')
time = float("{0:.2f}".format((end - start).seconds/3600.0))
if common.isDesigner(request.user):
SpentTime.objects.filter(project__project__id = self.project.id).update(design = float(project.design) + time)
if common.isDeveloper(request.user):
SpentTime.objects.filter(project__project__id = self.project.id).update(develop = float(project.develop) + time)
super(Tasks, self).save(*args, **kwargs)
ЗдесьTasks
Модель используется как встроенная вTimesheet
модель. Я хочу проверить роль текущего пользователя, вошедшего в систему, и обновить другую модель в зависимости от роли пользователя. Здесь мне нужноrequest.user
проверить роль текущего пользователя. Я не использую какие-либо формы или шаблоны и полностью использую администратора Django. Есть ли способ получитьrequest.user
вsave
метод или проверить и обновить значения в другой модели в admin.py?