将变量传递给表单

时间:2011-07-19 12:04:16

标签: django django-forms

除了表单定义之外,有没有办法在一行中执行以下操作,而不是三行?我发现自己经常做这样的事情 -

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
...

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

没有,afaik。我知道我的答案会得到-1。

相关问题