【发布时间】:2013-07-27 18:09:59
【问题描述】:
当我执行“object_name.objects.get(id=1)”时出现错误。早些时候,当 id=1 时我也收到了这个错误,但是当 id=2 时它返回了对象。然后我删除了我所做的所有条目,希望它会从 id=1 开始,但现在它给出了错误。
有人能解释一下为什么会这样吗?我该怎么办?
>>> from course.models import Course, Content
>>> Course.objects.get(id=1)
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/vagrant/edu-venv/local/lib/python2.7/site-packages/django/db/models /manager.py", line 143, in get
return self.get_query_set().get(*args, **kwargs)
File "/home/vagrant/edu-venv/local/lib/python2.7/site-packages/django/db/models /query.py", line 389, in get
(self.model._meta.object_name, kwargs))
DoesNotExist: Course matching query does not exist. Lookup parameters were {'id': 1}
另外,object_name.object.all() 给出了我输入的所有内容
>>> Course.objects.all()
[<Course: JAVA>, <Course: HTML5>]
【问题讨论】:
-
很自然,你要做的就是应用
try和except,那个函数处理那个问题 -
在您的 shell 中执行以下操作:
Course.objects.values_list('pk', flat=True),并查看为 2 个对象生成的 ID。你会知道为什么id=1失败了 -
@catherine 我是初学者,你能详细说明一下吗?此外,如果您想查看 link 这是我试图排序的原始问题
-
@karthikr 老兄,它现在给 [7,6] 早于 [3, 2]
标签: django postgresql django-models django-views django-south