Overrideen save () method returns None?

My model form is currently an override save () method and it works fine. The problem is that I call savedObject = form.save (), the form gets saved, but returns None? Before overriding save (), I would get a saved object, but what is the problem with this approach?

save () in model form:

def save(self, *args, **kwargs): kwargs['commit']=False obj = super(MyForm, self).save(*args, **kwargs) obj.time = datetime.date.today() obj.expire = datetime.date.today() return obj.save() 

call my mind after POST:

 savedObject = form.save() #form is now saved, but savedObject is None 
+4
source share
1 answer

The right way:

 def save(self, commit=True): obj = super(MyForm, self).save(commit=False) obj.time = datetime.date.today() obj.expire = datetime.date.today() if commit: obj.save() return obj 
+6
source

All Articles