created_by und updated_by in jedem Model hinzufügen?

Django, Flask, Bottle, WSGI, CGI…
Antworten
gospat83
User
Beiträge: 40
Registriert: Dienstag 21. September 2021, 14:25

Hallo zusammen,

ich möchte meinen Models gerne 4 "Extrafelder" mitgeben.

1.) created_at
2.) updated_at
3.) created_by
4.) updated_by

Die ersten beiden Varianten habe ich scho, das war auch ziemlich einfach zu finden. Wie setze ich aber die anderen beiden Varianten um? Ich möchte, dass diese Felder automatisch gefüllt werden und gar nicht von einem User gesetzt werden können. Es soll einfach der gerade angemeldete User für diese Felder verwendet werden.
Benutzeravatar
__blackjack__
User
Beiträge: 14044
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ergänzende Info: Es geht um Django. (Richtig‽)
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.
gospat83
User
Beiträge: 40
Registriert: Dienstag 21. September 2021, 14:25

Ja, genau, es geht um Django. Sorry.
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

@gospat: Für den Zeitpunkt der Erstellung und den Zeitpunkt des Updates gibt es entsprechende Parameter des Feldes. Soweit mir bekannt wird der Wert dann von Django ermittelt und mit dem Datensatz an die Datenbank geschickt. Es ist also kein Zeitstempel, der durch die Datenbank selbst generiert wird und somit der Zeit auf dem System der Webanwendung entspricht - nicht der des Datenbankservers.

Um den Benutzer musst du dich selbst kümmern. Django kann das beim Speichern nicht herleiten. Man kann einen Datensatz speichern, ohne dass es einen Benutzer gibt. Also musst du im View dafür sorgen, dass der User aus dem Request seinen Weg in den Datensatz findet.
Benutzeravatar
noisefloor
User
Beiträge: 4189
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

in diesem Thread bei Stack Overflow sollte alles stehen, was du brauchst.

Gruß, noisefloor
gospat83
User
Beiträge: 40
Registriert: Dienstag 21. September 2021, 14:25

Alles klar, danke euch.
Antworten