addons.Addon

Model Info

Key

Value

Model Name

Addon

Verbose Name

addon

Verbose Name Plural

addons

Docstring

Addon(created, modified, id, guid, slug, name, default_locale, type, status, icon_type, icon_hash, homepage, support_email, support_url, description, summary, developer_comments, eula, privacy_policy, average_rating, bayesian_rating, total_ratings, text_ratings_count, weekly_downloads, hotness, average_daily_users, last_updated, disabled_by_user, target_locale, contributions, _current_version, is_experimental, reputation, requires_payment)

Is Abstract

False

Is Proxy

False

Is Managed

True

Ordering

[]

Permissions

[]

Default Permissions

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

Indexes

[<Index: fields=[‘bayesian_rating’] name=’bayesianrating’>, <Index: fields=[‘created’] name=’addons_created_idx’>, <Index: fields=[‘_current_version’] name=’current_version’>, <Index: fields=[‘disabled_by_user’] name=’inactive’>, <Index: fields=[‘hotness’] name=’hotness_idx’>, <Index: fields=[‘last_updated’] name=’last_updated’>, <Index: fields=[‘modified’] name=’modified_idx’>, <Index: fields=[‘status’] name=’addons_status_idx’>, <Index: fields=[‘target_locale’] name=’target_locale’>, <Index: fields=[‘type’] name=’addontype_id’>, <Index: fields=[‘weekly_downloads’] name=’weeklydownloads_idx’>, <Index: fields=[‘average_daily_users’, ‘type’] name=’adus_type_idx’>, <Index: fields=[‘bayesian_rating’, ‘type’] name=’rating_type_idx’>, <Index: fields=[‘created’, ‘type’] name=’created_type_idx’>, <Index: fields=[‘last_updated’, ‘type’] name=’last_updated_type_idx’>, <Index: fields=[‘modified’, ‘type’] name=’modified_type_idx’>, <Index: fields=[‘type’, ‘status’, ‘disabled_by_user’] name=’type_status_inactive_idx’>, <Index: fields=[‘weekly_downloads’, ‘type’] name=’downloads_type_idx’>, <Index: fields=[‘type’, ‘status’, ‘disabled_by_user’, ‘_current_version’] name=’visible_idx’>, <Index: fields=[‘name’, ‘status’, ‘type’] name=’name_2’>]

Constraints

[]

Database Table

addons

Base Manager

unfiltered

Default Manager

None

File

/data/olympia/src/olympia/addons/models.py

Starting Line Number

490

Method Resolution Order

(<class ‘olympia.addons.models.Addon’>, <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

BannedUserContent_addons+

ManyToOneRel

integer UNSIGNED

_current_version

ForeignKey

current_version

integer UNSIGNED

current version

_ratings

ManyToOneRel

integer UNSIGNED

addon_tags

ManyToOneRel

integer UNSIGNED

addonapprovalscounter

OneToOneRel

integer UNSIGNED

addonbrowsermapping

ManyToOneRel

integer UNSIGNED

addoncategory

ManyToOneRel

integer UNSIGNED

addonguid

OneToOneRel

integer UNSIGNED

addonlog

ManyToOneRel

integer UNSIGNED

addonuser

ManyToOneRel

integer UNSIGNED

addonuserpendingconfirmation

ManyToOneRel

integer UNSIGNED

authors

FilterableManyToManyField

authors

through addons.AddonUser

authors

average_daily_users

PositiveIntegerField

average_daily_users

integer UNSIGNED

average daily users

average_rating

FloatField

averagerating

double precision

average rating

bannedusercontent

ManyToManyRel

through users.BannedUserContent_addons

bayesian_rating

FloatField

bayesianrating

double precision

bayesian rating

cinderjob

ManyToOneRel

integer UNSIGNED

collectionaddon

ManyToOneRel

integer UNSIGNED

collections

ManyToManyRel

through bandwagon.CollectionAddon

content_deleted_on_force_disable

OneToOneRel

integer UNSIGNED

contributions

URLField

contributions

varchar(255)

contributions

created

DateTimeField

created

datetime(6)

created

decisions_on

ManyToOneRel

integer UNSIGNED

default_locale

CharField

defaultlocale

varchar(10)

default locale

description

PurifiedMarkdownField

description

integer UNSIGNED

description

developer_comments

PurifiedMarkdownField

developercomments

integer UNSIGNED

developer comments

disabled_by_user

BooleanField

inactive

bool

disabled by user

discoveryitem

OneToOneRel

integer UNSIGNED

eula

PurifiedMarkdownField

eula

integer UNSIGNED

eula

fileupload

ManyToOneRel

integer UNSIGNED

frozenaddon

ManyToOneRel

integer UNSIGNED

guid

CharField

guid

varchar(255)

guid

homepage

TranslatedField

homepage

integer UNSIGNED

homepage

hotness

FloatField

hotness

double precision

hotness

icon_hash

CharField

icon_hash

varchar(8)

icon hash

icon_type

CharField

icontype

varchar(25)

icon type

id (pk)

PositiveAutoField

id

integer UNSIGNED AUTO_INCREMENT

id

is_experimental

BooleanField

experimental

bool

is experimental

last_updated

DateTimeField

last_updated

datetime(6)

last updated

migrated_from_lwt

ManyToOneRel

integer UNSIGNED

modified

DateTimeField

modified

datetime(6)

modified

name

TranslatedField

name

integer UNSIGNED

name

previews

ManyToOneRel

integer UNSIGNED

primaryhero

OneToOneRel

integer UNSIGNED

privacy_policy

PurifiedMarkdownField

privacypolicy

integer UNSIGNED

privacy policy

promotedaddon

ManyToOneRel

integer UNSIGNED

ratingaggregate

OneToOneRel

integer UNSIGNED

regional_restrictions

OneToOneRel

integer UNSIGNED

reputation

SmallIntegerField

reputation

smallint

reputation

requires_payment

BooleanField

requires_payment

bool

requires payment

reviewerflags

OneToOneRel

integer UNSIGNED

reviewersubscription

ManyToOneRel

integer UNSIGNED

rsskey

ManyToOneRel

integer UNSIGNED

slug

CharField

slug

varchar(30)

slug

status

PositiveIntegerField

status

integer UNSIGNED

status

summary

NoURLsField

summary

integer UNSIGNED

summary

support_email

TranslatedField

supportemail

integer UNSIGNED

support email

support_url

TranslatedField

supporturl

integer UNSIGNED

support url

tags

ManyToManyRel

through tags.AddonTag

target_locale

CharField

target_locale

varchar(255)

target locale

text_ratings_count

PositiveIntegerField

textreviewscount

integer UNSIGNED

text ratings count

total_ratings

PositiveIntegerField

totalreviews

integer UNSIGNED

total ratings

type

PositiveIntegerField

addontype_id

integer UNSIGNED

type

versions

ManyToOneRel

integer UNSIGNED

weekly_downloads

PositiveIntegerField

weeklydownloads

integer UNSIGNED

weekly downloads

whiteboard

OneToOneRel

integer UNSIGNED

Relations

Field Name

Field Type

Database Column

Database Type

Related Model

Related Name

_current_version

ForeignKey

current_version

integer UNSIGNED

versions.Version

+

authors

FilterableManyToManyField

authors

through addons.AddonUser

users.UserProfile

addons

description

PurifiedMarkdownField

description

integer UNSIGNED

translations.PurifiedMarkdownTranslation

Addon_description_set+

developer_comments

PurifiedMarkdownField

developercomments

integer UNSIGNED

translations.PurifiedMarkdownTranslation

Addon_developer_comments_set+

eula

PurifiedMarkdownField

eula

integer UNSIGNED

translations.PurifiedMarkdownTranslation

Addon_eula_set+

homepage

TranslatedField

homepage

integer UNSIGNED

translations.Translation

Addon_homepage_set+

name

TranslatedField

name

integer UNSIGNED

translations.Translation

Addon_name_set+

privacy_policy

PurifiedMarkdownField

privacypolicy

integer UNSIGNED

translations.PurifiedMarkdownTranslation

Addon_privacy_policy_set+

summary

NoURLsField

summary

integer UNSIGNED

translations.NoURLsTranslation

Addon_summary_set+

support_email

TranslatedField

supportemail

integer UNSIGNED

translations.Translation

Addon_support_email_set+

support_url

TranslatedField

supporturl

integer UNSIGNED

translations.Translation

Addon_support_url_set+

fields_reverse_relation=[FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’abuse.CinderJob’, field_name_on_related_model=’target_addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’decisions_on’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’abuse.ContentDecision’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’activity.AddonLog’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’reviewerflags’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonReviewerFlags’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’regional_restrictions’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonRegionalRestrictions’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’migrated_from_lwt’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.MigratedLWT’, field_name_on_related_model=’static_theme’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonCategory’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonUser’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonUserPendingConfirmation’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonApprovalsCounter’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’previews’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Preview’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.FrozenAddon’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonGUID’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.AddonBrowserMapping’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’content_deleted_on_force_disable’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.DisabledAddonContent’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’collections’, field_type=’ManyToManyRel’, field_db_type=’through bandwagon.CollectionAddon’, related_model=’bandwagon.Collection’, field_name_on_related_model=’addons’, field_type_on_related_model=’ManyToManyField’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’bandwagon.CollectionAddon’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’devhub.RssKey’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’discovery.DiscoveryItem’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’files.FileUpload’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’hero.PrimaryHero’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’promotedaddon’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’promoted.PromotedAddon’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’_ratings’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’ratings.Rating’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’ratings.RatingAggregate’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’reviewers.ReviewerSubscription’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’OneToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’reviewers.Whiteboard’, field_name_on_related_model=’addon’, field_type_on_related_model=’OneToOneField’), FieldReverseRelation(name=’tags’, field_type=’ManyToManyRel’, field_db_type=’through tags.AddonTag’, related_model=’tags.Tag’, field_name_on_related_model=’addons’, field_type_on_related_model=’ManyToManyField’), FieldReverseRelation(name=’addon_tags’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’tags.AddonTag’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’BannedUserContent_addons+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’users.BannedUserContent_addons’, field_name_on_related_model=’addon’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’addon_set’, field_type=’ManyToManyRel’, field_db_type=’through users.BannedUserContent_addons’, related_model=’users.BannedUserContent’, field_name_on_related_model=’addons’, field_type_on_related_model=’ManyToManyField’), FieldReverseRelation(name=’versions’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’versions.Version’, field_name_on_related_model=’addon’, 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

BannedUserContent_addons+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

users.BannedUserContent_addons

addon

ForeignKey

_ratings

ManyToOneRel

integer UNSIGNED

ratings.Rating

addon

ForeignKey

addon_set

ManyToOneRel

integer UNSIGNED

abuse.CinderJob

target_addon

ForeignKey

addon_set

ManyToOneRel

integer UNSIGNED

activity.AddonLog

addon

ForeignKey

addon_set

ManyToOneRel

integer UNSIGNED

addons.AddonCategory

addon

ForeignKey

addon_set

ManyToOneRel

integer UNSIGNED

addons.AddonUser

addon

ForeignKey

addon_set

ManyToOneRel

integer UNSIGNED

addons.AddonUserPendingConfirmation

addon

ForeignKey

addon_set

OneToOneRel

integer UNSIGNED

addons.AddonApprovalsCounter

addon

OneToOneField

addon_set

ManyToOneRel

integer UNSIGNED

addons.FrozenAddon

addon

ForeignKey

addon_set

OneToOneRel

integer UNSIGNED

addons.AddonGUID

addon

OneToOneField

addon_set

ManyToOneRel

integer UNSIGNED

addons.AddonBrowserMapping

addon

ForeignKey

addon_set

ManyToOneRel

integer UNSIGNED

bandwagon.CollectionAddon

addon

ForeignKey

addon_set

ManyToOneRel

integer UNSIGNED

devhub.RssKey

addon

ForeignKey

addon_set

OneToOneRel

integer UNSIGNED

discovery.DiscoveryItem

addon

OneToOneField

addon_set

ManyToOneRel

integer UNSIGNED

files.FileUpload

addon

ForeignKey

addon_set

OneToOneRel

integer UNSIGNED

hero.PrimaryHero

addon

OneToOneField

addon_set

OneToOneRel

integer UNSIGNED

ratings.RatingAggregate

addon

OneToOneField

addon_set

ManyToOneRel

integer UNSIGNED

reviewers.ReviewerSubscription

addon

ForeignKey

addon_set

OneToOneRel

integer UNSIGNED

reviewers.Whiteboard

addon

OneToOneField

addon_set

ManyToManyRel

through users.BannedUserContent_addons

users.BannedUserContent

addons

ManyToManyField

addon_tags

ManyToOneRel

integer UNSIGNED

tags.AddonTag

addon

ForeignKey

collections

ManyToManyRel

through bandwagon.CollectionAddon

bandwagon.Collection

addons

ManyToManyField

content_deleted_on_force_disable

OneToOneRel

integer UNSIGNED

addons.DisabledAddonContent

addon

OneToOneField

decisions_on

ManyToOneRel

integer UNSIGNED

abuse.ContentDecision

addon

ForeignKey

migrated_from_lwt

ManyToOneRel

integer UNSIGNED

addons.MigratedLWT

static_theme

ForeignKey

previews

ManyToOneRel

integer UNSIGNED

addons.Preview

addon

ForeignKey

promotedaddon

ManyToOneRel

integer UNSIGNED

promoted.PromotedAddon

addon

ForeignKey

regional_restrictions

OneToOneRel

integer UNSIGNED

addons.AddonRegionalRestrictions

addon

OneToOneField

reviewerflags

OneToOneRel

integer UNSIGNED

addons.AddonReviewerFlags

addon

OneToOneField

tags

ManyToManyRel

through tags.AddonTag

tags.Tag

addons

ManyToManyField

versions

ManyToOneRel

integer UNSIGNED

versions.Version

addon

ForeignKey

Methods

Other Methods

Method Name

Signature

all_applications_for

(self, promoted_group=None)

allow_resubmission

(self)

approve_for_version

(self, version=None, promoted_groups=None)

approved_applications_for

(self, promoted_group=None)

approved_promotions

(self, promoted_group=None)

attach_all_authors

(addons, addon_dict=None)

attach_listed_authors

(addons, addon_dict=None)

attach_previews

(addons, addon_dict=None, no_transforms=False)

attach_related_versions

(addons, addon_dict=None)

attach_static_categories

(addons, addon_dict=None)

can_be_deleted

(self)

can_request_review

(self)

clean_slug

(self, slug_field='slug')

deny_resubmission

(self)

disable_all_files

(addons, reason)

find_latest_public_listed_version

(self)

find_latest_version

(self, channel, exclude=(5,), deleted=False)

force_disable

(self, skip_activity_log=False)

force_enable

(self, skip_activity_log=False)

from_upload

(upload, *, selected_apps, parsed_data, client_info=None, channel=2)

get_admin_absolute_url

(self)

get_admin_url_path

(self)

get_default_icon_url

(self, size)

get_detail_url

(self, action='detail', args=None)

get_dev_url

(self, action='edit', args=None, prefix_only=False)

get_fallback

()

get_icon_dir

(self)

get_icon_path

(self, size)

get_icon_url

(self, size)

get_lookup_field

(identifier)

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_reputation_display

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

get_required_metadata

(self, has_listed_versions=None)

get_status_display

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

get_type_display

(self, *, field=<django.db.models.fields.PositiveIntegerField: type>)

get_unfiltered_manager

()

get_url_path

(self, add_prefix=True)

has_author

(self, user)

has_complete_metadata

(self, has_listed_versions=None)

has_listed_versions

(self, include_deleted=False)

has_unlisted_versions

(self, include_deleted=False)

increment_theme_version_number

(self)

initialize_addon_from_upload

(*, data, upload, channel, user)

is_public

(self)

is_soft_deleteable

(self)

is_unreviewed

(self)

language_ascii

(self)

on_change

(callback)

promoted_groups

(self, *, currently_approved=True)

reload

(self)

remove_locale

(self, locale)

resolve_webext_translations

(data, upload, use_default_locale_fallback=True)

serializable_reference

(self)

set_auto_approval_delay_if_higher_than_existing

(self, delay, unlisted_only=False)

set_categories

(self, categories)

set_needs_human_review_on_latest_versions

(self, *, reason, due_date=None, ignore_reviewed=True, unique_reason=False, skip_activity_log=False)

set_tag_list

(self, new_tag_list)

should_redirect_to_submit_flow

(self)

transformer

(addons)

type_can_set_compatibility

(addon_type)

update

(self, **kwargs)

update_all_due_dates

(self)

update_status

(self, ignore_version=None)

update_version

(self, ignore=None, _signal=True)

versions_triggering_needs_human_review_inheritance

(self, channel)

Private Methods

Method Name

Signature

_attach_authors

(addons, addon_dict=None, manager='objects', listed=True, to_attr='listed_authors')

_get_field_value_map

(self, meta, exclude=None)

_is_recommended_theme

(self)

_last_updated_queries

()

_prepare_deletion_email

(self, msg, reason)

_reset_initial_attrs

(self, attrs=None)

_send_changes

(self, old_attr, new_attr_kw)

_set_needs_human_review_on_latest_signed_version

(self, *, channel, reason, due_date=None, ignore_reviewed=True, unique_reason=False, skip_activity_log=False)

Custom Managers

default

Class: AddonManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

get_base_extensions_queue_with_non_disabled_versions(self, *q_filters, admin_reviewer=False)

Return base queryset for all queues that look at extensions with non disabled versions - typically scanners queues, where anything could be flagged, approved or waiting for review.

get_content_review_queue(self, admin_reviewer=False)

Return a queryset of Addon objects that need content review.

get_mad_queue(self, admin_reviewer=False)

Return a queryset of Addon objects that contain unlisted versions or had their current listed version flagged by MAD.

get_pending_rejection_queue(self, admin_reviewer=False)
get_queryset_for_pending_queues(self, *, admin_reviewer=False, theme_review=False, show_temporarily_delayed=True, show_only_upcoming=False, due_date_reasons_choices=None)
id_or_slug(self, val)

Get add-ons by id or slug.

not_disabled_by_mozilla(self)

Get all add-ons not disabled by Mozilla.

public(self)

Get public add-ons only

transform(self, fn)
valid(self)

Get valid, enabled add-ons only

Custom QuerySet

Class: AddonQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
id_or_slug(self, val)

Get add-ons by id or slug.

no_transforms(self)
not_disabled_by_mozilla(self)

Get all add-ons not disabled by Mozilla.

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)
public(self)

Get approved add-ons only

transform(self, fn)
valid(self)

Get valid, enabled add-ons only

valid_q(self, statuses)

*Return a Q object that selects a valid Addon with the given statuses.

An add-on is valid if not disabled and has a current version.*

objects

Class: AddonManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

get_base_extensions_queue_with_non_disabled_versions(self, *q_filters, admin_reviewer=False)

Return base queryset for all queues that look at extensions with non disabled versions - typically scanners queues, where anything could be flagged, approved or waiting for review.

get_base_queryset_for_queue(self, admin_reviewer=False, content_review=False, theme_review=False, select_related_fields_for_listed=True)
get_content_review_queue(self, admin_reviewer=False)

Return a queryset of Addon objects that need content review.

get_mad_queue(self, admin_reviewer=False)

Return a queryset of Addon objects that contain unlisted versions or had their current listed version flagged by MAD.

get_pending_rejection_queue(self, admin_reviewer=False)
get_queryset_for_pending_queues(self, *, admin_reviewer=False, theme_review=False, show_temporarily_delayed=True, show_only_upcoming=False, due_date_reasons_choices=None)
id_or_slug(self, val)

Get add-ons by id or slug.

not_disabled_by_mozilla(self)

Get all add-ons not disabled by Mozilla.

public(self)

Get public add-ons only

transform(self, fn)
valid(self)

Get valid, enabled add-ons only

Custom QuerySet

Class: AddonQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
id_or_slug(self, val)

Get add-ons by id or slug.

no_transforms(self)
not_disabled_by_mozilla(self)

Get all add-ons not disabled by Mozilla.

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)
public(self)

Get approved add-ons only

transform(self, fn)
valid(self)

Get valid, enabled add-ons only

valid_q(self, statuses)

*Return a Q object that selects a valid Addon with the given statuses.

An add-on is valid if not disabled and has a current version.*

unfiltered

Class: AddonManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

get_base_extensions_queue_with_non_disabled_versions(self, *q_filters, admin_reviewer=False)

Return base queryset for all queues that look at extensions with non disabled versions - typically scanners queues, where anything could be flagged, approved or waiting for review.

get_base_queryset_for_queue(self, admin_reviewer=False, content_review=False, theme_review=False, select_related_fields_for_listed=True)
get_content_review_queue(self, admin_reviewer=False)

Return a queryset of Addon objects that need content review.

get_mad_queue(self, admin_reviewer=False)

Return a queryset of Addon objects that contain unlisted versions or had their current listed version flagged by MAD.

get_pending_rejection_queue(self, admin_reviewer=False)
get_queryset_for_pending_queues(self, *, admin_reviewer=False, theme_review=False, show_temporarily_delayed=True, show_only_upcoming=False, due_date_reasons_choices=None)
id_or_slug(self, val)

Get add-ons by id or slug.

not_disabled_by_mozilla(self)

Get all add-ons not disabled by Mozilla.

public(self)

Get public add-ons only

transform(self, fn)
valid(self)

Get valid, enabled add-ons only

Custom QuerySet

Class: AddonQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
id_or_slug(self, val)

Get add-ons by id or slug.

no_transforms(self)
not_disabled_by_mozilla(self)

Get all add-ons not disabled by Mozilla.

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)
public(self)

Get approved add-ons only

transform(self, fn)
valid(self)

Get valid, enabled add-ons only

valid_q(self, statuses)

*Return a Q object that selects a valid Addon with the given statuses.

An add-on is valid if not disabled and has a current version.*


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