Skip to content

fields

django_spire.file.fields

MultipleFileField

Bases: FileField

Source code in django_spire/file/fields.py
def __init__(self, *args, **kwargs) -> None:
    super().__init__(*args, **kwargs)
    self.widget = widgets.MultipleWidget()

widget = widgets.MultipleWidget() instance-attribute

prepare_value

Source code in django_spire/file/fields.py
def prepare_value(self, value: list[File] | None) -> str:
    if value is not None:
        return json.dumps([file.to_dict() for file in value])

    return json.dumps([])

clean

Source code in django_spire/file/fields.py
def clean(self, data, initial=None) -> dict:
    return data

SingleFileField

Bases: FileField

Source code in django_spire/file/fields.py
def __init__(self, *args, **kwargs) -> None:
    super().__init__(*args, **kwargs)
    self.widget = widgets.SingleFileWidget()

widget = widgets.SingleFileWidget() instance-attribute

prepare_value

Source code in django_spire/file/fields.py
def prepare_value(self, value: File | FileQuerySet | None) -> str:
    if isinstance(value, FileQuerySet):
        value = value.first()

    if value is not None:
        return value.to_json()

    return json.dumps(None)

clean

Source code in django_spire/file/fields.py
def clean(self, data, initial=None) -> dict:
    return data