我有一个非常简单的测试如下:
import models
from django.test import TestCase
MyViewTest(TestCase):
def setUp(self):
self.trip = models.Trip.objects.order_by('?')[0]
def test_something(self):
# Blah Blah
每当我运行测试时,它都会抛出下面提到的错误:
Traceback (most recent call last):
File "/home/amyth/Projects/test/trips/tests.py", line 8, in setUp
self.trip = models.Trip.objects.order_by('?')[0]
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 207, in __getitem__
return list(qs)[0]
IndexError: list index out of range
我也尝试将查询更改为models.Trip.objects.all()[0]
,它仍然会引发相同的错误。奇怪的是,如果我在它工作的 shell 中使用上述任何查询。那么为什么它在测试中不起作用?