Django模型未保存到数据库

2024-10-03 21:36:27 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我正在工作的一个小团队对django和开发webapp来说是个新项目,突然间我们就失去了向数据库添加模型对象的能力。我们都不知所措。下面是我们目前正在调试的地方。在

在视图.py在

def postOp(request):
    if request.method == 'POST':
        operation = request.POST.get("operation","noop")

        #Registered user operations
        if request.user.is_authenticated():
            username = request.session.get("member","Guest")
            user = ToolUser.objects.get(name=username)
            zipcode = user.location
            .
            .
            #AddTool
            if operation == "addTool":
               toolName = request.POST.get("toolName","N/A")
               toolDesc = request.POST.get("toolDesc","N/A")
               print("In addtools")
               user.submitTool(toolName, toolDesc)
               print("SUBITTED")
               return HttpResponseRedirect("tools")

型号

^{pr2}$

它似乎一直到达t.save()然后中断。使用一个单独的工具来查看数据库,显然没有保存到表中。但是,对于终端的以下输出,它看起来确实在创建这个实例。在

终端输出:

添加工具

提交中

工具制作:工具测试,2,2,描述,0,12345

编辑:忘记更新这个,发现了问题,结果有一个字段是空的,django拒绝保存具有空字段的内容。在


Tags: 工具django数据库终端getifrequestusername
1条回答
网友
1楼 · 发布于 2024-10-03 21:36:27

等等,您有一个名为saveTool()的模型函数,但您调用的是user.savetool(我假设是django.contrib.auth.user)?如果你说解决了,那就好了。在

最好将对象填充到postOp()函数中并保存在那里。如果saveTool()确实是model类的一部分,那么您将实例化一个模型对象,然后调用一个方法来实例化另一个函数。在

我的观点是,从样式的角度来看,代码是不必要的复杂的,或者这需要更多的数据来真正了解那里发生了什么。在

相关问题 更多 >