Ppour qu'un champ ne soit pas dans le formulaire il suffit d'ajouter l'attribut editable. Par exemple :
> dateFin = models.DateField(null=True, > blank=True, editable=False) > Ensuite pour calculer la valeur je surcharge save() : > def save(self, *args, **kwargs): > self.dateFin = self.calcDateFin > super(nomdelaclass, self).save( *args, **kwargs) > ------------------------------------------- FDV Le 3 septembre 2014 17:08, christophe de saint leger <[email protected]> a écrit : > Salut, > > perso je travaillerai au niveau du model ( méthode save() ) , pour les > champs dont la valeur va être déduite automatiquement. > Au niveau Form, de ce fait je ne mettrai que les champs obligatoires ou > non et modifiables par l'utilisateur. > > Ainsi ton Form ne contient que les champs dont tu as vraiment besoin. > > C'est mon avis perso, ce n'est donc pas forcément la meilleure solution ;) > > Ch. > > Le 03/09/2014 16:55, Charlie Gentil a écrit : > > Bonjour à tous, > > > > Dans mon appli j'ai un model avec une vingtaine de champs tous obligatoire. > > Je souhaite réaliser un formulaire pour permettre aux visiteurs de > renseigner ce model. Cependant un certain nombre de champs seront soit > pré-remplis soit modifiés après la fonction save(). > > > > Note : il y a de forte chance pour que je soit obligé de customiser la > visu du formulaire de A à Z. J'entends par là que je ne pense pas utiliser > simplement la balise {{ mon_formulaire }} > > > > Pour faire tout ceci j'ai plusieurs solutions : > > > > Solution 1°) > > Dans la classe ModelForm je défini uniquement les champs dont j'ai besoin. > J'affiche les champs voulus comme bon me semble. Je récupère le formulaire > rempli via save(commit=False), je mets à jours les champs manquant, je > relance la fonction save(). > > > > Solution 2°) > > J'importe tous les champs (fields = __all__). J'affiche les champs voulus > comme bon me semble. Je récupère et modifie comme précédemment. > > > > Solution 3°) > > J'importe tous les champs et pré-rempli ceux pour lesquels les > utilisateurs n'auront pas la main. J'affiche les champs voulus comme bon me > semble, je récupère avec la fonction save(). > > > > > > Je pense que les trois solutions se valent... du moins de mon point de vue > de débutant en Django... mais les plus expérimentés auront peut-être un > autre avis ? > > > > > > D'avance merci pour vos conseils. > > > > > > > > Charlie > > > _______________________________________________ > django mailing > [email protected]http://lists.afpy.org/mailman/listinfo/django > > > > _______________________________________________ > django mailing list > [email protected] > http://lists.afpy.org/mailman/listinfo/django >
_______________________________________________ django mailing list [email protected] http://lists.afpy.org/mailman/listinfo/django
