def test_pre_save_calls_save_shard(self): sut = ShardForeignKeyStorageField(ShardStorageTable, shard_group='default') model_instance = object() with patch.object(sut, 'save_shard') as mock_save_shard: with self.assertRaises(Exception): sut.pre_save(model_instance, False) mock_save_shard.assert_called_once_with(model_instance)
def test_pre_save_calls_save_shard(self): sut = ShardForeignKeyStorageField(ShardStorageTable, shard_group='default', on_delete=CASCADE) model_instance = object() with patch.object(sut, 'save_shard') as mock_save_shard: with self.assertRaises(Exception): sut.pre_save(model_instance, False) mock_save_shard.assert_called_once_with(model_instance)
class ShardedByForiegnKeyModel(models.Model): shard = ShardForeignKeyStorageField(ShardStorageTable, shard_group='default', on_delete=models.CASCADE) random_string = models.CharField(max_length=120) test = models.ForeignKey(UnshardedTestModel, on_delete=models.CASCADE) def get_shard_key(self): return self.test.user_pk