嘲笑两者Model.objects.bulk_创建以及模型.保存()

2024-04-25 22:32:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图模仿两个bulk_create和{}进行一次试运行。 我创建了代码,基本上可以执行以下操作:

@mock.patch.object(SomeModel.objects, 'bulk_create')
@mock.patch.object(SomeModel, 'save')
def a_dry_run(mocked_bulk_create, mocked_save):

   def print_bulk(obj_list):
       print 'doing bulk_create'
       for obj in obj_list:
          print obj

   def print_save(instance):
       print 'doing save'
       print instance

   mocked_bulk_create.side_effect = print_bulk
   mocked_bulk_create.return_value = True
   mocked_save.side_effect = print_save
   mocked_save.return_value = True

问题是当我做bulk_create而不是print_bulk时,它执行print_save。我该怎么解决这个问题呢?还是有更干净的方法来解决这个问题?在


Tags: instanceobjobjectsavedefcreatebulkmock