Skip to content

fields

django_spire.file.fields

MultipleFileField

Bases: FileField

Source code in django_spire/file/fields.py
def __init__(self, *args, **kwargs):
    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):
    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):
    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 | None:
    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