files.File

Model Info

Key

Value

Model Name

File

Verbose Name

file

Verbose Name Plural

files

Docstring

File(created, modified, id, version, file, size, hash, original_hash, status, datestatuschanged, strict_compatibility, approval_date, cert_serial_num, is_signed, is_experiment, is_mozilla_signed_extension, original_status, status_disabled_reason, manifest_version)

Is Abstract

False

Is Proxy

False

Is Managed

True

Ordering

[]

Permissions

[]

Default Permissions

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

Indexes

[<Index: fields=[‘created’, ‘version’] name=’created_idx’>, <Index: fields=[‘datestatuschanged’, ‘version’] name=’statuschanged_idx’>, <Index: fields=[‘status’] name=’status’>]

Constraints

[]

Database Table

files

Base Manager

objects

Default Manager

None

File

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

Starting Line Number

87

Method Resolution Order

(<class ‘olympia.files.models.File’>, <class ‘olympia.amo.models.OnChangeMixin’>, <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

_webext_permissions

OneToOneRel

integer UNSIGNED

approval_date

DateTimeField

approval_date

datetime(6)

approval date

cert_serial_num

TextField

cert_serial_num

longtext

cert serial num

created

DateTimeField

created

datetime(6)

created

datestatuschanged

DateTimeField

datestatuschanged

datetime(6)

datestatuschanged

file

FileField

filename

varchar(255)

file

file_manifest

OneToOneRel

integer UNSIGNED

hash

CharField

hash

varchar(255)

hash

id (pk)

PositiveAutoField

id

integer UNSIGNED AUTO_INCREMENT

id

is_experiment

BooleanField

is_experiment

bool

is experiment

is_mozilla_signed_extension

BooleanField

is_mozilla_signed_extension

bool

is mozilla signed extension

is_signed

BooleanField

is_signed

bool

is signed

manifest_version

SmallIntegerField

manifest_version

smallint

manifest version

modified

DateTimeField

modified

datetime(6)

modified

original_hash

CharField

original_hash

varchar(255)

original hash

original_status

PositiveSmallIntegerField

original_status

smallint UNSIGNED

original status

size

PositiveIntegerField

size

integer UNSIGNED

size

status

PositiveSmallIntegerField

status

smallint UNSIGNED

status

status_disabled_reason

PositiveSmallIntegerField

status_disabled_reason

smallint UNSIGNED

status disabled reason

strict_compatibility

BooleanField

strict_compatibility

bool

strict compatibility

validation

OneToOneRel

integer UNSIGNED

version

OneToOneField

version_id

integer UNSIGNED

version

Relations

Field Name

Field Type

Database Column

Database Type

Related Model

Related Name

version

OneToOneField

version_id

integer UNSIGNED

versions.Version

file_set

fields_reverse_relation=[FieldReverseRelation(name=’validation’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’files.FileValidation’, field_name_on_related_model=’file’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’_webext_permissions’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’files.WebextPermission’, field_name_on_related_model=’file’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’file_manifest’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’files.FileManifest’, field_name_on_related_model=’file’, field_type_on_related_model=’OneToOneField’)]

Reverse Relations

Field Name

Field Type

Database Type

Related Model

Field Name on Related Model

Field Type on Related Model

_webext_permissions

OneToOneRel

integer UNSIGNED

files.WebextPermission

file

OneToOneField

file_manifest

OneToOneRel

integer UNSIGNED

files.FileManifest

file

OneToOneField

validation

OneToOneRel

integer UNSIGNED

files.FileValidation

file

OneToOneField

Methods

Other Methods

Method Name

Signature

from_upload

(upload, version, parsed_data=None)

generate_hash

(self)

get_admin_absolute_url

(self)

get_admin_url_path

(self)

get_manifest_version_display

(self, *, field=<django.db.models.fields.SmallIntegerField: manifest_version>)

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_review_status_display

(self)

get_status_disabled_reason_display

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

get_status_display

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

get_unfiltered_manager

()

get_url_path

(self, attachment=False)

latest_xpi_url

(self, attachment=False)

on_change

(callback)

reload

(self)

serializable_reference

(self)

update

(self, **kwargs)

Private Methods

Method Name

Signature

_get_field_value_map

(self, meta, exclude=None)

_permissions_wrapper

(self, prop)

_reset_initial_attrs

(self, attrs=None)

_send_changes

(self, old_attr, new_attr_kw)

Custom Managers

default

Class: FileManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

disabled_that_would_be_renabled_with_addon(self)
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: FileManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

disabled_that_would_be_renabled_with_addon(self)
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-08 !!!