我在函数
中有一个ajax调用console.log("Executing call on " + link);
$.ajax({
type : "POST",
url : link,
data : {"clientId" : selectedClient, "id" : id},
dataType : "json",
success : function(retData) {
console.log(JSON.parse(retData));
}
})
调用views.py:
def putClientPeerData(request):
client = Client.objects.get(client = request.REQUEST["clientId"])
peer = Client.objects.get(client = request.REQUEST["id"])
ClientPeers.objects.create(client = client, parentorg = peer.parentorg, eff_date = datetime.now(), exp_date = None).save()
testPeer = ClientPeers.objects.get(client = client, parentorg = peer.parentorg)
if testPeer.client == client:
return HttpResponse(simplejson.dumps({"returnValue" : "success"}))
else:
return HttpResponse(simplejson.dumps({"returnValue" : "failure"}))
但是,save
方法会执行两次,这会导致MultipleObjectsReturned
查询出现testPeer
异常。
答案 0 :(得分:3)
create
调用save
,无需明确调用它。
create(**kwargs)
创建对象并将其全部保存在一个步骤中的便捷方法。因此:
p = Person.objects.create(first_name="Bruce", last_name="Springsteen")
和
p = Person(first_name="Bruce", last_name="Springsteen")
p.save(force_insert=True)
是等价的。