def __init__(
self,
models: list[type[SyncableMixin]],
identity_field: str = 'id',
batch_size_max: int = _BATCH_SIZE_MAX,
checkpoint_store: CheckpointStore | None = None,
record_reader: RecordReader | None = None,
record_writer: RecordWriter | None = None,
) -> None:
self._checkpoint_store = checkpoint_store or DjangoCheckpointStore()
self._record_reader = record_reader or DjangoRecordReader(
models=models,
identity_field=identity_field,
)
self._record_writer = record_writer or DjangoRecordWriter(
models=models,
identity_field=identity_field,
batch_size_max=batch_size_max,
)