2012-07-16 26 views
1

我意識到,如果我通過filter().delete()刪除項目(這是好的)在模型中的object_set不更新,但是我想刪除之後更新_set使這一經過:如何在Django進行破壞性操作後刷新foreignkey_set?

def test_prefetch(self): 
    game = Game.objects.prefetch_related('bubble_set').get() 
    game.fill_board() 
    self.assertEqual(game.bubble_set.count(), game.width * game.height) 
    game.bubble_set.filter(x=5).delete() 
    # Fails 
    self.assertNotEqual(game.bubble_set.count(), game.width * game.height) 
    game = Game.objects.prefetch_related('bubble_set').get() 

回答

0

您需要重新提取對象。所以在.delete()之後可以做game = Game.objects.prefetch_related('bubble_set').get()

相關問題