模型表单保存.获取保存的对象

Har*_*rry 30 django django-forms

如果我有一个模型表格并保存如下:

f = FormModel(request.POST)
if f.is_valid():
    f.save()
Run Code Online (Sandbox Code Playgroud)

我怎样才能找回刚刚保存的对象?

jcd*_*yer 36

保存模型时,它将返回已保存的模型实例.所以你要做的就是将它分配给一个变量:

f = MyModelForm(request.POST)
if f.is_valid():
    m = f.save()
Run Code Online (Sandbox Code Playgroud)

commit=False除非处理更复杂的数据,否则不需要乱用或任何其他内容.


Fab*_*ian 12

如果您知道模型已保存(以便存在正确的实例),您还可以执行以下操作:

model = form.instance
Run Code Online (Sandbox Code Playgroud)


Har*_*rry 7

我刚发现这个啊!

    # Create a form instance with POST data.
>>> f = AuthorForm(request.POST)

# Create, but don't save the new author instance.
>>> new_author = f.save(commit=False)

# Modify the author in some way.
>>> new_author.some_field = 'some_value'

# Save the new instance.
>>> new_author.save()

# Now, save the many-to-many data for the form.
>>> f.save_m2m()
Run Code Online (Sandbox Code Playgroud)