django - Set user attribute after project creation -


in app user can create project giving name.

that model :

class project(models.model):     name = models.charfield(max_length=250)     team_id = models.foreignkey(team, blank=true, null=true)     project_hr_admin = models.foreignkey(myuser, blank=true, null=true)      def get_absolute_url(self):         return reverse('website:projectdetails', kwargs = {'pk' : self.pk})      def __str__(self):         return self.name 

that views:

class projectcreate(createview):     model = project     fields = ['name']     template_name = 'project_form.html' 

how can set when user create project project_hr_admin = models.foreignkey(myuser, blank=true, null=true) id , save in db ??

thx

hope helps.

class projectcreate(createview):     model = project     fields = ['name']     template_name = 'project_form.html'       def form_valid(self, form):         form.instance.project_hr_admin = self.request.user         return super(projectcreate, self).form_valid(form) 

or can rewrite form_valid function as

    def form_valid(self, form):         obj = form.save(commit=false)         obj.project_hr_admin = self.request.user         obj.save()         return httpresponseredirect('your_success_url') 

source: django documentation


Comments

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -