2011-07-19 95 views
1

除了表單定義之外,還有一種方法可以在一行中執行以下操作,而不是三種方式?我發現自己經常這樣做 -將變量傳遞給表格

form = EmploymentForm(data=request.POST or None, request=request) 

employment_object = form.save(commit=False) 
employment_object.user = profile 
employment_object.save 

謝謝。

可以這樣做:

form = EmploymentForm(data=request.POST or None, request=request) 
form.instance.user = profile 
... 
+0

重寫窗體的'save'方法? –

回答

2

嗯,你可以重構它變成一個功能。

def save_with_user(form, user): 
    obj = form.save(commit = False) 
    obj.user = user 
    obj.save() 

# ... 
form = EmploymentForm(data=request.POST or None, request=request) 
save_with_user(form, profile) 
0

沒有沒有,據我所知。我知道我會得到這個答案-1。