django testing:client.get返回MultipleObjectsReturned错误

时间:2016-10-20 23:20:37

标签: django django-testing

当我运行以下测试时,我希望client.get()返回一个示例列表。它正确地执行了,但它抛出了这个错误:

MultipleObjectsReturned: get() returned more than one Example -- it returned 8!

如何停用此错误?

def test_read_all_examples(self):
        # get all examples
        url = reverse('example')

        admin = User.objects.get(username='admin')
        client = APIClient()
        client.force_authenticate(user=admin)

        response = client.get(url, format='json')
        print("GET - ExampleTests Response:", response.data)

        self.assertEqual(response.status_code, status.HTTP_200_OK)

1 个答案:

答案 0 :(得分:0)

我不确定您是如何解决此问题的,但get调用引发的异常是User.objects.get而非client.get。我会使用username的{​​{1}}检查您的数据库表中的多个帐户。

添加:通常会调用引发adminModelManager.get的{​​{1}}。 https://docs.djangoproject.com/en/1.10/ref/exceptions/