[afpy/django] enregistrement d'un champs systematiquement

Sébastien RIGUET sriguet at askin.fr
Jeu 25 Juil 16:56:04 CEST 2013


Il est possible d'ajouter cette information (l'utilisateur courant) au 
niveau des vues, car le model ne dispose pas l'objet request qui 
contient la session de l'utilisateur (puisqu'il peut être utilisé dans 
plusieurs contextes). Tu peux donc ajouter l'utilisateur courant via ce 
bout de code dans ta vue de création d'une note, par exemple :

def save_note(request):

     if request.method == 'POST': # If the form has been submitted...
         note = NoteForm(request.POST) # A form bound to the POST data
note.proprio = request.user
         note.save()
         return HttpResponseRedirect('/thanks/') # Redirect after POST

     form = NoteForm() # An unbound form

     return render(request, 'note.html', {
         'form': form,
     })

NoteForm sera un model from 
(https://docs.djangoproject.com/en/1.5/topics/forms/modelforms/)

Après, il est bien entendu possible de rajouter une méthode 
"save_with_request" aux modèles concernés (via héritage pour faire DRY) 
et de passer l'objet "request" en paramètre pour réaliser l'ajout du 
prorio + la sauvegarde (attention à gérer la modification pour ne pas 
réaffecter les objets).


-- 
Sébastien RIGUET
Askindev.com


> Tonton <mailto:to.tonton at gmail.com>
> 25 juillet 2013 16:31
> Bonjour
> Je code une appli front office que je voudrai multi utilisateur
> ça me me pour mes contacts et surtout pour apprendre a utiliser django 
> au mieux...
>
> donc comment integrer la partie multi utilisateur pour que je ne me 
> répete pas ...
>
> j 'ai 4 model disont entreprise contact tache et Notes
>
> je suppose qu'il faut un champs proprio= models.foreignKey(User) pour 
> enregistrer le propriétaire
> de l'information que je sauvegarde.
>
> est-ce qu'il est possible, peut être dans une partie meta du model 
> pour que ce champs se remplisse systématiquement par l'utilisateur qui 
> crée l'information  ?
>
> Merci pour vos idées
>
> T.
> _______________________________________________
> django mailing list
> django at lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.afpy.org/pipermail/django/attachments/20130725/e4bf68f8/attachment.html>


Plus d'informations sur la liste de diffusion django