python - 保存到 Django 中的模型后返回主键

标签 python django return

我看过文档 here和几个类似的堆栈溢出帖子,但在保存我的表单后,我仍然无法返回该新模型的 ID/PK。它一直告诉我 'ProposalForm' 对象没有属性 'id' 如何在保存后立即返回 ID?

这是 View :

def proposal_create_view2(request):
        if request.method == 'POST':
            form = ProposalForm(data=request.POST)
            if form.is_valid():
                form.save()
                response = {}
                response['proposalID'] = form.id
                return response

最佳答案

my_saved_model = my_model_form.save()

打印 my_saved_model.pk

编辑:

def proposal_create_view2(request):
    if request.method == 'POST':
        form = ProposalForm(data=request.POST)
        if form.is_valid():
            mysaved_model = form.save()
            response = {}
            response['proposalID'] = mysaved_model.id #or .pk
            return render(request , 'my_template_file.html' , response) 

            #return response statement is NOT valid as you need to return an HttpResponse not a dict

评论 Django Docs on HttpResponses

关于python - 保存到 Django 中的模型后返回主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976662/

相关文章:

python - 如何修复 "W293 blank line contains whitespace"

python - 使用 sci-kit 中的训练/测试数据而不是交叉验证来学习曲线

python - 为什么 Django 不承认我的类变量?

python - 如何仅运行一次具有多个值的 def 并将值使用到另一个 def 中?

python - 为什么网络摄像头未出现在python-opencv中

python - Django模板更新后没有改变(可能是缓存)

python - django 将日期字段更改为整数字段无法迁移

c - 返回字符串数组的 C 函数原型(prototype)

javascript - Mongoose.findOne 不返回任何内容,为什么?

python - 如果 csv 为空,如何不读取 csv