Ich möchte in der Lage sein, einen Verweis auf den derzeit authentifizierten Benutzer mit einem Hinweis bei der Arbeit mit Notes von der Admin-Oberfläche aufzunehmen. Das Modell würde in etwa so aussehen:Kann ein Django-Modell automatisch den aktuellen authentifizierten Benutzer über die Admin-Oberfläche ausfüllen?
from django.db import models
from django.contrib.auth.models import User
from datetime import datetime
class Note(models.Model):
datetime = models.DateTimeField(default=datetime.now)
author = models.ForeignKey(User, default=authenticated_user)
note = models.TextField()
def __unicode__(self):
return unicode(self.author) + u' - ' + unicode(self.datetime)
Das einzige Feld, das der Benutzer sehen sollte, ist das Notiztextfeld. Die Datetime und der Autor sollten automatisch vom Model, Admin Interface oder was auch immer ausgefüllt werden. Kann das gemacht werden? Jeder hat einen Beispielcode?
Danke!
Dies sollte funktionieren, aber was ist, wenn Sie das Benutzerfeld in der Form vor dem Speichern ihnen zeigen wollten? – user27478
Möchten Sie wirklich ein * bearbeitbares * Feld für den Benutzer zeigen? Es ist ein Fremdschlüssel, also möchten Sie eine Auswahlbox mit allen verfügbaren Benutzern, aber die aktuelle ist vorausgewählt? Wenn ja, könnten Sie versuchen, add_view in Ihrer ModelAdmin-Klasse zu überschreiben, um ein zusätzliches Anfangsfeld zu übergeben - werfen Sie einen Blick auf django.contrib.admin.options für den Code. Wenn Sie nur den Benutzernamen anzeigen möchten, können Sie dies mit {{request.user}} in der Vorlage tun. –