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