保存不适用于django,shell和Model Form

时间:2017-10-19 22:05:06

标签: python django

请帮忙,我之前没有看到过这个错误。保存功能没有在Shell或视图中更新我的模型。它也没有给出任何错误信息。

>>> from course.models import Course
>>> course = Course.objects.get(pk=1)
>>> course.title
'test'

如果我退出然后重新进入shell

@superuser_required
def update(request, course_id):
    course = get_object_or_404(Course, pk=course_id)
    if request.method=='POST':
        form = CourseForm(data=request.POST, instance=course)

        if form.is_valid():
            form.save()
            messages.info(request, _("The course has been updated"))
            return redirect(reverse("course:admin:index"))

    else:
        form = CourseForm(instance=course)

    context = {'form': form,}

    return render(request, 'course/admin/update.html', context)

以下内容也不适用于我使用模型表单的更新视图,我无法发布模型表单的代码。

https://s3.amazonaws.com/my.bucket/my_item?...

我会发布我的models.py文件但StackOverflow不会让我说,代码太多了。

1 个答案:

答案 0 :(得分:1)

如图所示,在模型中你有def save方法,但只有当if条件执行时才能保存,如果没有完成你必须调用真正的save方法:

def save(self, *args, **kwargs):
    if not self.slug:
        self.slug = slugify(self.title)super(Course,self).save(*args,**kwargs)

    super(Course,self).save(*args,**kwargs) # Calling save method

More information