尝试通过模型访问用户时,self.field.rel.to.DoesNotExist

时间:2012-11-17 21:47:09

标签: django django-models

我正在尝试扩展我的模型以包含用户但没有太多运气。

from django.db import models
from django.contrib.auth.models import User

class TestModel(models.Model):
    user = models.OneToOneField(User)

    def __unicode__(self):
        return "Value[" + self.user + "];"

当我尝试测试时,我得到以下内容:

>>> t = TestModel()
>>> t
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/django/db/models/base.py", line 373, in __repr__
    u = unicode(self)
  File "/Users/lkatz/tmp/private/Projects/Web/rcos_portal/driver/models.py", line 39, in __unicode__
    return "Value[" + self.user + "];"
  File "/Library/Python/2.7/site-packages/django/db/models/fields/related.py", line 343, in __get__
    raise self.field.rel.to.DoesNotExist
DoesNotExist

1 个答案:

答案 0 :(得分:2)

您没有将User实例传递给您的TestModel类:

做这样的事情:

from django.contrib.auth.models import User

us = User.objects.all()[0]
t = TestModel(user=us)
t.save()
print t