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
Post a Comment