discovery.DiscoveryPromotedGroup

Model Info

Key

Value

Model Name

DiscoveryPromotedGroup

Verbose Name

discovery promoted group

Verbose Name Plural

discovery promoted groups

Docstring

DiscoveryPromotedGroup(id, group_id, name, api_name, search_ranking_bump, listed_pre_review, unlisted_pre_review, admin_review, badged, autograph_signing_states, can_primary_hero, immediate_approval, flag_for_human_review, can_be_compatible_with_all_fenix_versions, high_profile, high_profile_rating, active, is_public)

Is Abstract

False

Is Proxy

True

Is Managed

True

Ordering

[]

Permissions

[]

Default Permissions

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

Indexes

[]

Constraints

[]

Database Table

promoted_promotedgroup

Base Manager

None

Default Manager

None

File

/data/olympia/src/olympia/discovery/admin.py

Starting Line Number

187

Method Resolution Order

(<class ‘olympia.discovery.admin.DiscoveryPromotedGroup’>, <class ‘olympia.promoted.models.PromotedGroup’>, <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

active

BooleanField

active

bool

active

admin_review

BooleanField

admin_review

bool

admin review

api_name

CharField

api_name

varchar(100)

api name

autograph_signing_states

JSONField

autograph_signing_states

json

autograph signing states

badged

BooleanField

badged

bool

badged

can_be_compatible_with_all_fenix_versions

BooleanField

can_be_compatible_with_all_fenix_versions

bool

can be compatible with all fenix versions

can_primary_hero

BooleanField

can_primary_hero

bool

can primary hero

flag_for_human_review

BooleanField

flag_for_human_review

bool

flag for human review

group_id

SmallIntegerField

group_id

smallint

group id

high_profile

BooleanField

high_profile

bool

high profile

high_profile_rating

BooleanField

high_profile_rating

bool

high profile rating

id (pk)

AutoField

id

integer AUTO_INCREMENT

ID

immediate_approval

BooleanField

immediate_approval

bool

immediate approval

is_public

BooleanField

is_public

bool

is public

listed_pre_review

BooleanField

listed_pre_review

bool

listed pre review

name

CharField

name

varchar(255)

name

promoted_versions

ManyToOneRel

integer

promotedaddon

ManyToOneRel

integer

search_ranking_bump

FloatField

search_ranking_bump

double precision

search ranking bump

unlisted_pre_review

BooleanField

unlisted_pre_review

bool

unlisted pre review

fields_reverse_relation=[FieldReverseRelation(name=’discoverypromotedgroup_set’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’promoted.PromotedAddon’, field_name_on_related_model=’promoted_group’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’promoted_versions’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’promoted.PromotedApproval’, field_name_on_related_model=’promoted_group’, 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

discoverypromotedgroup_set

ManyToOneRel

integer

promoted.PromotedAddon

promoted_group

ForeignKey

promoted_versions

ManyToOneRel

integer

promoted.PromotedApproval

promoted_group

ForeignKey

Methods

Other Methods

Method Name

Signature

active_groups

()

badged_groups

()

get_group_id_display

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

Private Methods

Method Name

Signature

_get_field_value_map

(self, meta, exclude=None)

Custom Managers

default

Class: PromotedGroupManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

all_for(self, addon)
approved_for(self, addon)
transform(self, fn)

Custom QuerySet

Class: PromotedGroupQuerySet

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: PromotedGroupManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

all_for(self, addon)
approved_for(self, addon)
transform(self, fn)

Custom QuerySet

Class: PromotedGroupQuerySet

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-11 !!!