Pode um modelo de Django preencher automaticamente o usuário autenticado atual a partir da interface de administração?

votos
4

Eu gostaria de ser capaz de incluir uma referência para o usuário autenticado no momento com uma nota quando se trabalha com Notas do interface de administração. O modelo seria algo parecido com:

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)

O único campo que o usuário deve ver é o campo de nota de texto. A data e hora e autor deve ser automagicamente preenchido pelo modelo, interface de administração ou o que quer. isso pode ser feito? Alguém tem algum código de exemplo?

Obrigado!

Publicado 13/05/2009 em 22:49
fonte usuário
Em outras línguas...                            


1 respostas

votos
4

A definição da data pode ser tomado cuidado de, especificando auto_now_add=Truea definição do campo de data e hora.

Para definir o usuário sobre salvar no admin, fazer isso em sua classe admin:

class NoteAdmin(admin.ModelAdmin):
    ...usual admin options...

    def save_model(self, request, obj, form, change):
        obj.user = request.user
        obj.save()
Respondeu 13/05/2009 em 22:53
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more