Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
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