Django: Aktuellen Benutzer im Modell speichern

Ich möchte den aktuell angemeldeten Benutzer erhalten (request.user) in demsave Methode von models.py. Ich möchte die Rolle des Benutzers überprüfen und feststellen, ob er auf der Grundlage seiner Rolle bestimmte Vorgänge ausführen kann.

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)

Hier dieTasks Modell wird als Inline in verwendetTimesheet Modell. Ich möchte die Rolle des aktuell angemeldeten Benutzers überprüfen und ein anderes Modell basierend auf der Rolle des Benutzers aktualisieren. Hier brauche ichrequest.user um die Rolle des aktuellen Benutzers zu überprüfen. Ich verwende keine Formulare oder Vorlagen und benutze den Django-Administrator vollständig. Gibt es eine Methode zu bekommenrequest.user in demsave Methode oder um die Werte in einem anderen Modell in admin.py zu überprüfen und zu aktualisieren?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage