Skip to content

session

django_spire.contrib.sync.django.models.session

SyncSession

Bases: Model

id = models.UUIDField(primary_key=True, default=(uuid.uuid4), editable=False) class-attribute instance-attribute

node_id = models.CharField(max_length=255) class-attribute instance-attribute

phase = models.CharField(max_length=20, default='collecting') class-attribute instance-attribute

started_at = models.DateTimeField(auto_now_add=True) class-attribute instance-attribute

completed_at = models.DateTimeField(null=True, blank=True) class-attribute instance-attribute

duration_ms = models.PositiveIntegerField(null=True, blank=True) class-attribute instance-attribute

status = models.CharField(max_length=20, default='pending') class-attribute instance-attribute

records_pushed = models.PositiveIntegerField(default=0) class-attribute instance-attribute

records_applied = models.PositiveIntegerField(default=0) class-attribute instance-attribute

records_created = models.PositiveIntegerField(default=0) class-attribute instance-attribute

records_deleted = models.PositiveIntegerField(default=0) class-attribute instance-attribute

conflicts = models.PositiveIntegerField(default=0) class-attribute instance-attribute

errors = models.PositiveIntegerField(default=0) class-attribute instance-attribute

details = models.JSONField(default=dict, blank=True) class-attribute instance-attribute

Meta

app_label = 'sync' class-attribute instance-attribute
db_table = 'django_spire_sync_session' class-attribute instance-attribute
indexes = [models.Index(fields=['node_id', 'status'], name='sync_session_node_status_idx')] class-attribute instance-attribute
ordering = ['-started_at'] class-attribute instance-attribute

__str__

Source code in django_spire/contrib/sync/django/models/session.py
def __str__(self) -> str:
    return f'{self.node_id} [{self.status}] {self.started_at}'