错误类'django.contrib.auth.models.DoesNotExist

时间:2013-04-01 09:25:28

标签: django django-models

我收到以下错误消息,这不是很有帮助,并且此行没有其他错误...

**(<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()
                {

                }
            });
        },

2 个答案:

答案 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)

即使我插入用户并拥有第一个代码,它仍然会给出错误。不知道为什么。