files.FileUpload

Model Info

Key

Value

Model Name

FileUpload

Verbose Name

file upload

Verbose Name Plural

file uploads

Docstring

Created when a file is uploaded for validation/submission.

Is Abstract

False

Is Proxy

False

Is Managed

True

Ordering

[]

Permissions

[]

Default Permissions

(‘add’, ‘change’, ‘delete’, ‘view’)

Indexes

[]

Constraints

[<UniqueConstraint: fields=(‘uuid’,) name=’uuid’>]

Database Table

file_uploads

Base Manager

objects

Default Manager

None

File

/data/olympia/src/olympia/files/models.py

Starting Line Number

420

Method Resolution Order

(<class ‘olympia.files.models.FileUpload’>, <class ‘olympia.amo.models.ModelBase’>, <class ‘olympia.amo.models.SaveUpdateMixin’>, <class ‘django.db.models.base.Model’>, <class ‘django.db.models.utils.AltersData’>, <class ‘object’>)

Fields

Field Name

Field Type

Database Column

Database Type

Verbose Name

access_token

CharField

access_token

varchar(40)

access token

addon

ForeignKey

addon_id

integer UNSIGNED

addon

channel

PositiveSmallIntegerField

channel

smallint UNSIGNED

channel

created

DateTimeField

created

datetime(6)

created

hash

CharField

hash

varchar(255)

hash

id (pk)

AutoField

id

integer AUTO_INCREMENT

ID

ip_address

CharField

ip_address

varchar(45)

ip address

modified

DateTimeField

modified

datetime(6)

modified

name

CharField

name

varchar(255)

name

path

CharField

path

varchar(255)

path

scannerresults

ManyToOneRel

integer

source

PositiveSmallIntegerField

source

smallint UNSIGNED

source

user

ForeignKey

user_id

integer

user

uuid

UUIDField

uuid

char(32)

uuid

valid

BooleanField

valid

bool

valid

validation

TextField

validation

longtext

validation

version

CharField

version

varchar(255)

version

Relations

Field Name

Field Type

Database Column

Database Type

Related Model

Related Name

addon

ForeignKey

addon_id

integer UNSIGNED

addons.Addon

fileupload_set

user

ForeignKey

user_id

integer

users.UserProfile

fileupload_set

fields_reverse_relation=[FieldReverseRelation(name=’scannerresults’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’scanners.ScannerResult’, field_name_on_related_model=’upload’, field_type_on_related_model=’ForeignKey’)]

Reverse Relations

Field Name

Field Type

Database Type

Related Model

Field Name on Related Model

Field Type on Related Model

scannerresults

ManyToOneRel

integer

scanners.ScannerResult

upload

ForeignKey

Methods

Other Methods

Method Name

Signature

add_file

(self, chunks, filename, size)

from_post

(chunks, *, filename, size, user, source, channel, addon=None, version=None)

generate_access_token

(self)

generate_path

(ext='.zip')

get_admin_absolute_url

(self)

get_admin_url_path

(self)

get_authenticated_download_url

(self)

get_channel_display

(self, *, field=<django.db.models.fields.PositiveSmallIntegerField: channel>)

get_next_by_created

(self, *, field=<django.db.models.fields.DateTimeField: created>, is_next=True, **kwargs)

get_next_by_modified

(self, *, field=<django.db.models.fields.DateTimeField: modified>, is_next=True, **kwargs)

get_previous_by_created

(self, *, field=<django.db.models.fields.DateTimeField: created>, is_next=False, **kwargs)

get_previous_by_modified

(self, *, field=<django.db.models.fields.DateTimeField: modified>, is_next=False, **kwargs)

get_source_display

(self, *, field=<django.db.models.fields.PositiveSmallIntegerField: source>)

get_unfiltered_manager

()

load_validation

(self)

reload

(self)

serializable_reference

(self)

update

(self, **kw)

write_data_to_path

(self, chunks)

Private Methods

Method Name

Signature

_get_field_value_map

(self, meta, exclude=None)

Custom Managers

default

Class: ManagerBase

*Base for all managers in AMO.

Returns BaseQuerySets.

If a model has translated fields, they’ll be attached through a transform function.*

Custom Methods

transform(self, fn)

Custom QuerySet

Class: BaseQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
no_transforms(self)
only_translations(self)

Remove all transforms except translations.

optimized_count(self)

*Slightly optimized count() for cases where there is a DISTINCT in the queryset.

When a count() call is made on a queryset that has a distinct, that causes django to run the full SELECT (including all fields, distinct, ordering etc) in a subquery and then COUNT() on the result of that subquery, which is costly/innefficient. That’s tracked in https://code.djangoproject.com/ticket/30685. We can’t easily fix the fact that there is a subquery, but we can avoid selecting all fields and ordering in that subquery needlessly.*

pop_transforms(self)
transform(self, fn)

objects

Class: ManagerBase

*Base for all managers in AMO.

Returns BaseQuerySets.

If a model has translated fields, they’ll be attached through a transform function.*

Custom Methods

transform(self, fn)

Custom QuerySet

Class: BaseQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
no_transforms(self)
only_translations(self)

Remove all transforms except translations.

optimized_count(self)

*Slightly optimized count() for cases where there is a DISTINCT in the queryset.

When a count() call is made on a queryset that has a distinct, that causes django to run the full SELECT (including all fields, distinct, ordering etc) in a subquery and then COUNT() on the result of that subquery, which is costly/innefficient. That’s tracked in https://code.djangoproject.com/ticket/30685. We can’t easily fix the fact that there is a subquery, but we can avoid selecting all fields and ordering in that subquery needlessly.*

pop_transforms(self)
transform(self, fn)

!!! THIS DOCUMENT WAS AUTOGENERATED ON 2025-07-09 !!!