blocklist.BlocklistSubmission

Model Info

Key

Value

Model Name

BlocklistSubmission

Verbose Name

blocklist submission

Verbose Name Plural

blocklist submissions

Docstring

BlocklistSubmission(id, created, modified, action, input_guids, changed_version_ids, to_block, url, reason, updated_by, signoff_by, signoff_state, delayed_until, disable_addon, block_type)

Is Abstract

False

Is Proxy

False

Is Managed

True

Ordering

[]

Permissions

[]

Default Permissions

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

Indexes

[]

Constraints

[]

Database Table

blocklist_blocklistsubmission

Base Manager

None

Default Manager

None

File

/data/olympia/src/olympia/blocklist/models.py

Starting Line Number

203

Method Resolution Order

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

Block_submission+

ManyToOneRel

integer

action

SmallIntegerField

action

smallint

action

block

ManyToManyRel

through blocklist.Block_submission

block_type

PositiveTinyIntegerField

block_type

tinyint unsigned

block type

changed_version_ids

JSONField

changed_version_ids

json

changed version ids

created

DateTimeField

created

datetime(6)

created

delayed_until

DateTimeField

delayed_until

datetime(6)

delayed until

disable_addon

BooleanField

disable_addon

bool

disable addon

id (pk)

AutoField

id

integer AUTO_INCREMENT

ID

input_guids

TextField

input_guids

longtext

input guids

modified

DateTimeField

modified

datetime(6)

modified

reason

TextField

reason

longtext

reason

signoff_by

ForeignKey

signoff_by_id

integer

signoff by

signoff_state

SmallIntegerField

signoff_state

smallint

signoff state

to_block

JSONField

to_block

json

to block

updated_by

ForeignKey

updated_by_id

integer

updated by

url

CharField

url

varchar(255)

url

Relations

Field Name

Field Type

Database Column

Database Type

Related Model

Related Name

signoff_by

ForeignKey

signoff_by_id

integer

users.UserProfile

+

updated_by

ForeignKey

updated_by_id

integer

users.UserProfile

blocklistsubmission_set

fields_reverse_relation=[FieldReverseRelation(name=’Block_submission+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’blocklist.Block_submission’, field_name_on_related_model=’blocklistsubmission’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’blocklistsubmission_set’, field_type=’ManyToManyRel’, field_db_type=’through blocklist.Block_submission’, related_model=’blocklist.Block’, field_name_on_related_model=’submission’, field_type_on_related_model=’ManyToManyField’)]

Reverse Relations

Field Name

Field Type

Database Type

Related Model

Field Name on Related Model

Field Type on Related Model

Block_submission+ (no reverse relation allowed)

ManyToOneRel

integer

blocklist.Block_submission

blocklistsubmission

ForeignKey

blocklistsubmission_set

ManyToManyRel

through blocklist.Block_submission

blocklist.Block

submission

ManyToManyField

Methods

Other Methods

Method Name

Signature

all_adu_safe

(self)

can_user_signoff

(self, signoff_user)

delete_block_objects

(self)

get_action_display

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

get_admin_absolute_url

(self)

get_admin_url_path

(self)

get_all_submission_versions

()

get_block_type_display

(self, *, field=<olympia.amo.fields.PositiveTinyIntegerField: block_type>)

get_changes_from_block

(self, block)

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_signoff_state_display

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

get_submissions_from_guid

(guid)

get_submissions_from_version_id

(version_id)

get_unfiltered_manager

()

has_version_changes

(self)

process_input_guids

(input_guids, *, load_full_objects=True, filter_existing=True)

reload

(self)

save_to_block_objects

(self)

serializable_reference

(self)

update

(self, **kw)

update_signoff_for_auto_approval

(self)

Private Methods

Method Name

Signature

_get_fake_blocks_from_guids

(guids)

_get_field_value_map

(self, meta, exclude=None)

_serialize_blocks

(self)

Custom Managers

default

Class: BlocklistSubmissionManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

delayed(self)
transform(self, fn)

Custom QuerySet

Class: BlocklistSubmissionQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
delayed(self)
get_with_primary_fallback(self, *args, **kwargs)

*Like get(), but if using a non-default database and DoesNotExist is raised, another attempt is made using the default database instead.

Intended to be used in places where replication lag could cause the object not to exist for a brief moment and forcing use of primary db at all times is undesirable.*

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

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

delayed(self)
transform(self, fn)

Custom QuerySet

Class: BlocklistSubmissionQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
delayed(self)
get_with_primary_fallback(self, *args, **kwargs)

*Like get(), but if using a non-default database and DoesNotExist is raised, another attempt is made using the default database instead.

Intended to be used in places where replication lag could cause the object not to exist for a brief moment and forcing use of primary db at all times is undesirable.*

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-10-07 !!!