view.py
someForm = SomeForm(request.POST)
...
someForm.customSave(request.user)
Run Code Online (Sandbox Code Playgroud)
forms.py
class SomeForm(ModelForm):
class Meta:
model = Some
def customSave(self,user):
lv = self.save(commit=False)
lv.created_by = user
lv.save()
Run Code Online (Sandbox Code Playgroud)
如何获取我刚刚保存的模型(或模型)的ID someForm?
由于ModelForm.save的行为是返回实例,因此您可能希望在customSave方法中返回实例
def customSave(self, user):
lv = self.save(commit=False)
lv.created_by = user
lv.save()
return lv
Run Code Online (Sandbox Code Playgroud)
然后你可以访问实例上的pk或id
inst = someForm.customSave(request.user)
inst.pk or inst.id
Run Code Online (Sandbox Code Playgroud)