假设此视图用于编辑记录:
def edit_post(request, slug):
post = get_object_or_404(Post, slug=slug)
if request.method == "POST":
form = AddPostForm(request.POST, request.FILES, instance=post)
# 1
if form.is_valid():
# 2
new_post = form.save(commit=False)
new_post.save()
return redirect('administrator:view_admin_post')
...
现在假设这些:
我有
field1
那个存在于POST
模型中。field1
具有默认值并假设 的当前值field1
取决于先前的值。- 还假设我不想传递
field1
给用户。结果,我不会在request.POST
.
print(post.field1)
在这种情况下,当我在行中写入时,# 1
我有以前的值,但是当我在行中打印时,# 2
我得到了None
!
这是怎么回事?我怎么能有我的post.field1
?
注意:我知道我可以定义一个中间件变量并将之前的值保存在这个变量中。但是有没有更好的方法来做到这一点?