Auto-preenchimento de campo created_by com o site de administração do Django

votos
18

Eu quero usar a interface de administração do Django para uma aplicação web muito simples, mas eu não pode contornar um problema que não deve ser tão difícil de resolver ..

Considere o seguinte:

class Contact(models.Model):
    name = models.CharField(max_length=250, blank=False)
    created_by = models.ForeignKey(User, blank=False)

Não consigo encontrar uma maneira de auto-preencher o campo created_by e fazer a administração do Django ciente disso. A maioria do método que eu vi implica sobrecarga método save do objeto e passá-lo ao usuário pedido. Todos eles requer para construir suas exibições personalizadas e / ou formas.

Otimamente o formulário para criar novos contatos no site de administração não deve mostrar o campo created_by (que é bastante fácil) e auto preencher-lo com o usuário atual (o que parece mais difícil do que deveria).

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


3 respostas

votos
23

http://code.djangoproject.com/wiki/CookBookNewformsAdminAndUser

Envolve a implementação de salvar métodos em seus objetos ModelAdmin.

Respondeu 13/05/2009 em 03:50
fonte usuário

votos
4

Você precisa especificar um padrão para o campo, neste caso uma chamada de método que obtém o usuário atual (consulte a documentação auth para obter o usuário atual).

Respondeu 13/05/2009 em 04:04
fonte usuário

votos
1

Eu realmente queria uma solução melhor do que os que eu encontradas em outros lugares, então eu escrevi alguns middleware - implementação do usuário Populate questão Id . Minha solução não requer alterações em qualquer forma ou modo de exibição.

Respondeu 19/10/2012 em 16:40
fonte usuário

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