Skip to content

config

django_spire.contrib.sync.file.config

FileSyncConfig dataclass

model_label instance-attribute

identity_field instance-attribute

scope_field instance-attribute

filename instance-attribute

fields instance-attribute

conflict_strategy = field(default_factory=SourceWins) class-attribute instance-attribute

deactivation_threshold = None class-attribute instance-attribute

timestamp_field = 'modified_datetime' class-attribute instance-attribute

field_keys property

__post_init__

Source code in django_spire/contrib/sync/file/config.py
def __post_init__(self) -> None:
    if not self.model_label:
        message = 'model_label must not be empty'
        raise FileSyncParameterError(message)

    if not self.identity_field:
        message = 'identity_field must not be empty'
        raise FileSyncParameterError(message)

    if not self.scope_field:
        message = 'scope_field must not be empty'
        raise FileSyncParameterError(message)

    if not self.filename:
        message = 'filename must not be empty'
        raise FileSyncParameterError(message)

    if not self.fields:
        message = 'fields must not be empty'
        raise FileSyncParameterError(message)

    if self.deactivation_threshold is not None and self.deactivation_threshold < 0.0:
        message = (
            f'deactivation_threshold must be non-negative '
            f'or None, got {self.deactivation_threshold}'
        )

        raise FileSyncParameterError(message)