id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 14940,New generic class view CreateView execute form.save() with no arguments,Mario César,nobody,"Using the new django class views it's needed to override methods to extends functionality, this of course is awesome. django.views.generic.!CreateView has been specially useful for me. For my purpose I had a Model for Projects and a Form for this model, and I override the save method. However, there was no possibility to use the save method of my form, as !CreateView extends from ModelFormMixin and this execute the method form.save() without arguments I made a simple patch, to made this easy as it was when using old generic views. Here it's the code working with my tiny patch. {{{ class ProjectForm(ModelForm): class Meta: model = Project exclude = ('owner', 'members', 'followers', 'hosted', 'last_commit', 'last_release', 'related_projects') widgets = { 'description': Textarea(attrs={'cols': 40, 'rows': 20}), } def save(self, owner, commit=True, *args, **kwargs): project = super(ProjectForm,self).save(commit=False,*args, **kwargs) project.owner = owner if commit: project.save() return project class ProjectCreateView(CreateView): model = Project form_class = ProjectForm def form_valid(self, form): return super(ProjectCreateView, self).form_valid(form, owner=self.request.user) }}} ",,closed,Generic views,1.2,,wontfix,,,Unreviewed,1,0,0,0,0,0