gpt4 book ai didi

django - 在 Django Rest Framework 和单元测试中使用嵌套对象

转载 作者:行者123 更新时间:2023-12-03 09:44:48 28 4
gpt4 key购买 nike

我在 Django Rest Framework 端点上编写了几个单元测试,没有任何问题,直到我尝试在 POST 请求中传递嵌套对象:

class BookTestCase(APIVersion, APITestCase):
def setUp(self):
self.url = self.reverse_with_get_params('book')
self.user = CustomerFactory.create().user
self.base_data = {"foo": "bar",
"credit_card": {"card_number": "1234567812345678",
"expiration_date": "1116",
"security_code": "359"},
"foo2": "bar2"}

def test_book(self):
add_token_to_user(self.user, self.client)

response = self.client.post(self.url, self.base_data)

self.assertEqual(response.status_code, 200)

然后,一开始就用 pdb.set_trace() 运行相关的 web 服务,这里是 request.DATA 的内容:
<QueryDict: {u'foo': [u'bar'],
u'credit_card': [u'expiration_date', u'security_code', u'card_number'],
u'foo2': [u'bar2']}>

如您所见,每个 level1 对象都被正确填充,但信用卡内容已消失。

任何想法?谢谢!

注意:Django 1.6/Rest Framework 2

最佳答案

您必须更改为您的电话后格式。试试 format='json'

response = self.client.post(self.url, self.base_data, format='json')

关于django - 在 Django Rest Framework 和单元测试中使用嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36126991/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com