abuse.CinderJob

Model Info

Key

Value

Model Name

CinderJob

Verbose Name

cinder job

Verbose Name Plural

cinder jobs

Docstring

CinderJob(id, created, modified, job_id, target_addon, resolvable_in_reviewer_tools)

Is Abstract

False

Is Proxy

False

Is Managed

True

Ordering

[]

Permissions

[]

Default Permissions

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

Indexes

[]

Constraints

[<CheckConstraint: check=(NOT (AND: (‘job_id’, ‘’))) name=’no_empty_job_id’>]

Database Table

abuse_cinderjob

Base Manager

None

Default Manager

None

File

/data/olympia/src/olympia/abuse/models.py

Starting Line Number

93

Method Resolution Order

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

VersionReviewerFlags_pending_resolution_cinder_jobs+

ManyToOneRel

integer

abusereport

ManyToOneRel

integer

appealed_decisions

ManyToOneRel

integer

created

DateTimeField

created

datetime(6)

created

decisions

ManyToOneRel

integer

id (pk)

AutoField

id

integer AUTO_INCREMENT

ID

job_id

CharField

job_id

varchar(36)

job id

modified

DateTimeField

modified

datetime(6)

modified

pending_rejections

ManyToManyRel

through versions.VersionReviewerFlags_pending_resolution_cinder_jobs

queue_moves

ManyToOneRel

integer

resolvable_in_reviewer_tools

BooleanField

resolvable_in_reviewer_tools

bool

resolvable in reviewer tools

target_addon

ForeignKey

target_addon_id

integer UNSIGNED

target addon

Relations

Field Name

Field Type

Database Column

Database Type

Related Model

Related Name

target_addon

ForeignKey

target_addon_id

integer UNSIGNED

addons.Addon

cinderjob_set

fields_reverse_relation=[FieldReverseRelation(name=’cinderjob_set’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’abuse.AbuseReport’, field_name_on_related_model=’cinder_job’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’appealed_decisions’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’abuse.ContentDecision’, field_name_on_related_model=’appeal_job’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’decisions’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’abuse.ContentDecision’, field_name_on_related_model=’cinder_job’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’queue_moves’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’abuse.CinderQueueMove’, field_name_on_related_model=’cinder_job’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’VersionReviewerFlags_pending_resolution_cinder_jobs+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer’, related_model=’versions.VersionReviewerFlags_pending_resolution_cinder_jobs’, field_name_on_related_model=’cinderjob’, field_type_on_related_model=’ForeignKey’), FieldReverseRelation(name=’pending_rejections’, field_type=’ManyToManyRel’, field_db_type=’through versions.VersionReviewerFlags_pending_resolution_cinder_jobs’, related_model=’versions.VersionReviewerFlags’, field_name_on_related_model=’pending_resolution_cinder_jobs’, 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

VersionReviewerFlags_pending_resolution_cinder_jobs+ (no reverse relation allowed)

ManyToOneRel

integer

versions.VersionReviewerFlags_pending_resolution_cinder_jobs

cinderjob

ForeignKey

appealed_decisions

ManyToOneRel

integer

abuse.ContentDecision

appeal_job

ForeignKey

cinderjob_set

ManyToOneRel

integer

abuse.AbuseReport

cinder_job

ForeignKey

decisions

ManyToOneRel

integer

abuse.ContentDecision

cinder_job

ForeignKey

pending_rejections

ManyToManyRel

through versions.VersionReviewerFlags_pending_resolution_cinder_jobs

versions.VersionReviewerFlags

pending_resolution_cinder_jobs

ManyToManyField

queue_moves

ManyToOneRel

integer

abuse.CinderQueueMove

cinder_job

ForeignKey

Methods

Other Methods

Method Name

Signature

clear_needs_human_review_flags

(self)

get_admin_absolute_url

(self)

get_admin_url_path

(self)

get_cinder_reporter

(abuse)

get_entity_helper

(target, *, resolved_in_reviewer_tools, addon_version_string=None)

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_unfiltered_manager

()

handle_already_moderated

(self, abuse_report, entity_helper)

notify_reporters

(self, action_helper)

process_decision

(self, *, decision_cinder_id, decision_action, decision_notes, policy_ids, job_queue)

process_queue_move

(self, *, new_queue, notes)

reload

(self)

report

(abuse_report)

serializable_reference

(self)

should_auto_resolve

(self)

update

(self, **kw)

Private Methods

Method Name

Signature

_get_field_value_map

(self, meta, exclude=None)

Custom Managers

default

Class: CinderJobManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

for_addon(self, addon)
resolvable_in_reviewer_tools(self)
transform(self, fn)
unresolved(self)

Custom QuerySet

Class: CinderJobQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
for_addon(self, addon)
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)
resolvable_in_reviewer_tools(self)
transform(self, fn)
unresolved(self)

objects

Class: CinderJobManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

for_addon(self, addon)
resolvable_in_reviewer_tools(self)
transform(self, fn)
unresolved(self)

Custom QuerySet

Class: CinderJobQuerySet

Represent a lazy database lookup for a set of objects.

Custom Methods
for_addon(self, addon)
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)
resolvable_in_reviewer_tools(self)
transform(self, fn)
unresolved(self)

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