我收到以下错误消息,这不是很有帮助,并且此行没有其他错误...
**(<class 'django.contrib.auth.models.DoesNotExist'>)**
这是代码(它是一个ajax调用)
@login_required
@csrf_exempt
def smartpage_create_ajax(request):
if request.POST:
try:
json_dict = json.loads(request.POST['site'])
page = Content()
page.name = json_dict['name']
page.user(request.user)
page.json = request.POST['site']
page.save()
return HttpResponse('ok')
except Exception as e:
return HttpResponse('%s (%s)' % (e.message, type(e)))
有人可以告诉我这意味着什么,因为它以前工作。
谢谢。
更新:
class Content(models.Model):
name = models.CharField(max_length=80, blank=True)
logo = models.ImageField(upload_to="/logos", blank=True)
json = models.TextField()
objects = ContentManager()
#FK
user = models.ForeignKey(User, related_name="contentpages", blank=True)
js
$.ajax(
{
type: "POST",
url: '../content/createpage',
data: "site="+encodeURIComponent(JSON.stringify(site)),
dataType: "json",
success: function(ret)
{
// console.dir(ret);
if(ret.result)
{
$('#build-btns').html(ret.html);
}
else
{
//report no builds left
$('#build-btns').after(ret.html);
}
},
error: function(xhr, textStatus, errorThrown)
{
console.log(xhr, textStatus, errorThrown + 'error');
return false;
},
complete: function()
{
}
});
},
答案 0 :(得分:0)
错误意味着用户模型上的get()与数据库中的任何对象都不匹配 请参阅:https://docs.djangoproject.com/en/dev/ref/exceptions/#django.core.exceptions.DoesNotExist
我怀疑您当前登录的用户由于某种原因不再存在。也许尝试再次登录以检查它是否有帮助。
答案 1 :(得分:0)
对,我不完全理解为什么或者这是否是Django 1.5的错误。当我从...更改模型时,此错误消失了。
user = models.ForeignKey(User)
到
user = models.ForeignKey(User, null=True, blank=True)
即使我插入用户并拥有第一个代码,它仍然会给出错误。不知道为什么。