.save()什么时候创建对象?

2024-10-06 07:32:50 发布

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

我有密码:

name = MakesiteNameForm(datdict)
if name.is_valid:
    name.save()

datsite = Makesite.objects.get(sitename=request.POST['sitename'])
datsite.ref_id.add(RefID.objects.create(url=request.POST['url'],description=request.POST['description']))
datsite.save()

所以我有这段代码,我想用它来创建和保存很多项,但是当我尝试使用这个方法时,它说Makesite matching query does not exist。我想这意味着它还没有保存,但后来我调用了site = Makesite.objects.all(),我可以清楚地看到request.POST['sitename']在querydict中的值。那么有没有更好的方法来质疑这个问题呢?或者我遗漏了save()吗?你知道吗

编辑:该表单将值sitename值保存到Makesite表中


Tags: 方法nameurl密码ifobjectsrequestsave
1条回答
网友
1楼 · 发布于 2024-10-06 07:32:50

save()调用不创建对象,它只是将对象保存到数据库中,插入新行以防它是新对象,或者更新它。你知道吗

首先,表格.u有效吗()是一个方法,但您没有调用它,所以您总是尝试保存名称。这可能与您的错误有关,也可能与您的错误无关,但无论如何它都是错误的,可能这就是查询错误的来源,而不是下面的get()调用。修好它,看看会发生什么。你知道吗

相关问题 更多 >