archivebox.base_models.models

Base models using UUIDv7 for all id fields.

Module Contents

Classes

AutoDateTimeField

DateTimeField that automatically updates on save (legacy compatibility).

ModelWithUUID

ModelWithNotes

Mixin for models with a notes field.

ModelWithHealthStats

Mixin for models with health tracking fields.

ModelWithConfig

Mixin for models with a JSON config field.

ModelWithOutputDir

Functions

get_or_create_system_user_pk

API

archivebox.base_models.models.get_or_create_system_user_pk(username='system')[source]
class archivebox.base_models.models.AutoDateTimeField[source]

Bases: django.db.models.DateTimeField

DateTimeField that automatically updates on save (legacy compatibility).

pre_save(model_instance, add)[source]
class archivebox.base_models.models.ModelWithUUID[source]

Bases: django.db.models.Model

id[source]

‘UUIDField(…)’

created_at[source]

‘DateTimeField(…)’

modified_at[source]

‘DateTimeField(…)’

created_by[source]

‘ForeignKey(…)’

class Meta[source]

Bases: django_stubs_ext.db.models.TypedModelMeta

abstract[source]

True

__str__() str[source]
property admin_change_url: str[source]
property api_url: str[source]
property api_docs_url: str[source]
class archivebox.base_models.models.ModelWithNotes[source]

Bases: django.db.models.Model

Mixin for models with a notes field.

notes[source]

‘TextField(…)’

class Meta[source]

Bases: django_stubs_ext.db.models.TypedModelMeta

abstract[source]

True

class archivebox.base_models.models.ModelWithHealthStats[source]

Bases: django.db.models.Model

Mixin for models with health tracking fields.

num_uses_failed[source]

‘PositiveIntegerField(…)’

num_uses_succeeded[source]

‘PositiveIntegerField(…)’

class Meta[source]

Bases: django_stubs_ext.db.models.TypedModelMeta

abstract[source]

True

property health: int[source]
increment_health_stats(success: bool)[source]

Atomically increment success or failure counter using F() expression.

class archivebox.base_models.models.ModelWithConfig[source]

Bases: django.db.models.Model

Mixin for models with a JSON config field.

config[source]

‘JSONField(…)’

class Meta[source]

Bases: django_stubs_ext.db.models.TypedModelMeta

abstract[source]

True

class archivebox.base_models.models.ModelWithOutputDir[source]

Bases: archivebox.base_models.models.ModelWithUUID

class Meta[source]

Bases: archivebox.base_models.models.ModelWithUUID

abstract[source]

True

save(*args, **kwargs)[source]
property output_dir_parent: str[source]
property output_dir_name: str[source]
property output_dir_str: str[source]
abstract property output_dir: pathlib.Path[source]