【问题标题】:Is it possible to user this code like the first one instead of second?是否可以像第一个而不是第二个那样使用此代码?
【发布时间】:2023-02-01 14:42:45
【问题描述】:
def create_new(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        form.id_author = request.user.id
        if form.is_valid():
            form.save()
            return redirect('home')
    return render(request, 'main/create_new.html')
def create_new(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
             article = form.save(commit=False)
             article.author = request.user
            article.save()
            return redirect('home')
    return render(request, 'main/create_new.html')

是否可以将第二个代码更改为第一个代码? 它显示某种错误

【问题讨论】:

  • 你不能在 .is_valid() 之前改变表格,如果你想更新你需要提交表格

标签: django django-views


【解决方案1】:

不,首先您总是需要检查表单是否有效,然后在您可以使用创建临时实例的commit=False 保存表单之后,您应该在该实例中分配任何值。

第二个是对的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-16
    • 2017-02-26
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    • 2011-09-06
    • 2018-10-12
    • 2018-11-20
    相关资源
    最近更新 更多