首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django查询在测试中创建的对象不起作用

Django查询在测试中创建的对象不起作用
EN

Stack Overflow用户
提问于 2017-03-04 06:09:18
回答 1查看 542关注 0票数 0

我在django测试中有以下代码:

代码语言:javascript
复制
stockitem_retailer = StockItem.objects.filter(retailer=test_retailer).first()
test_subcategory = SubCategory.objects.create(category=test_category, name="outdoors")
stockitem_retailer.product.subcategory = test_subcategory
stockitem_retailer.save()
pdb.set_trace()

self.assertTrue(StockItem.objects.filter(product__subcategory=test_subcategory, retailer=test_retailer).exists())

上面的代码使用retailer=test_retailer获取一个StockItem对象,然后id将创建的子类别“户外”添加到stockitem.product.subcategory关系中。那么为什么测试不能通过呢?

这是我从pdb得到的

代码语言:javascript
复制
(Pdb) test_subcategory
<SubCategory: outdoors>
(Pdb) test_retailer
<Retailer: mi-super>
(Pdb) stockitem_retailer.product.subcategory
<SubCategory: outdoors>
(Pdb) stockitem_retailer.retailer
<Retailer: mi-super>
(Pdb) self.assertTrue(StockItem.objects.filter(product__subcategory=test_subcategory, retailer=test_retailer).exists())
*** AssertionError: False is not true

我已经看了这段代码好几个小时了,我找不到这个bug。请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2017-03-04 08:29:32

您在stockitem_retailer.product上设置了test_subcategory,但是您从未保存过stockitem_retailer.product,而只是保存了stockitem_retailer

只需添加stockitem_retailer.product.save()即可保存产品。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42589289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档