translations.LinkifiedTranslation

Model Info

Key

Value

Model Name

LinkifiedTranslation

Verbose Name

linkified translation

Verbose Name Plural

linkified translations

Docstring

Run the string through bleach to get a linkified version.

Is Abstract

False

Is Proxy

True

Is Managed

True

Ordering

[]

Permissions

[]

Default Permissions

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

Indexes

[]

Constraints

[]

Database Table

translations

Base Manager

None

Default Manager

None

File

/data/olympia/src/olympia/translations/models.py

Starting Line Number

272

Method Resolution Order

(<class ‘olympia.translations.models.LinkifiedTranslation’>, <class ‘olympia.translations.models.PurifiedTranslation’>, <class ‘olympia.translations.models.PureTranslation’>, <class ‘olympia.translations.models.Translation’>, <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

Addon_description_set+

ManyToOneRel

integer UNSIGNED

Addon_developer_comments_set+

ManyToOneRel

integer UNSIGNED

Addon_eula_set+

ManyToOneRel

integer UNSIGNED

Addon_homepage_set+

ManyToOneRel

integer UNSIGNED

Addon_name_set+

ManyToOneRel

integer UNSIGNED

Addon_privacy_policy_set+

ManyToOneRel

integer UNSIGNED

Addon_summary_set+

ManyToOneRel

integer UNSIGNED

Addon_support_email_set+

ManyToOneRel

integer UNSIGNED

Addon_support_url_set+

ManyToOneRel

integer UNSIGNED

CollectionAddon_comments_set+

ManyToOneRel

integer UNSIGNED

Collection_description_set+

ManyToOneRel

integer UNSIGNED

Collection_name_set+

ManyToOneRel

integer UNSIGNED

License_name_set+

ManyToOneRel

integer UNSIGNED

License_text_set+

ManyToOneRel

integer UNSIGNED

Preview_caption_set+

ManyToOneRel

integer UNSIGNED

Version_release_notes_set+

ManyToOneRel

integer UNSIGNED

autoid (pk)

PositiveAutoField

autoid

integer UNSIGNED AUTO_INCREMENT

autoid

created

DateTimeField

created

datetime(6)

created

id

PositiveIntegerField

id

integer UNSIGNED

id

locale

CharField

locale

varchar(10)

locale

localized_string

TextField

localized_string

longtext

localized string

localized_string_clean

TextField

localized_string_clean

longtext

localized string clean

modified

DateTimeField

modified

datetime(6)

modified

fields_reverse_relation=[FieldReverseRelation(name=’Addon_name_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’name’, field_type_on_related_model=’TranslatedField’), FieldReverseRelation(name=’Addon_homepage_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’homepage’, field_type_on_related_model=’TranslatedField’), FieldReverseRelation(name=’Addon_support_email_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’support_email’, field_type_on_related_model=’TranslatedField’), FieldReverseRelation(name=’Addon_support_url_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’support_url’, field_type_on_related_model=’TranslatedField’), FieldReverseRelation(name=’Addon_description_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’description’, field_type_on_related_model=’PurifiedMarkdownField’), FieldReverseRelation(name=’Addon_summary_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’summary’, field_type_on_related_model=’NoURLsField’), FieldReverseRelation(name=’Addon_developer_comments_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’developer_comments’, field_type_on_related_model=’PurifiedMarkdownField’), FieldReverseRelation(name=’Addon_eula_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’eula’, field_type_on_related_model=’PurifiedMarkdownField’), FieldReverseRelation(name=’Addon_privacy_policy_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Addon’, field_name_on_related_model=’privacy_policy’, field_type_on_related_model=’PurifiedMarkdownField’), FieldReverseRelation(name=’Preview_caption_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’addons.Preview’, field_name_on_related_model=’caption’, field_type_on_related_model=’TranslatedField’), FieldReverseRelation(name=’Collection_name_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’bandwagon.Collection’, field_name_on_related_model=’name’, field_type_on_related_model=’TranslatedField’), FieldReverseRelation(name=’Collection_description_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’bandwagon.Collection’, field_name_on_related_model=’description’, field_type_on_related_model=’NoURLsField’), FieldReverseRelation(name=’CollectionAddon_comments_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’bandwagon.CollectionAddon’, field_name_on_related_model=’comments’, field_type_on_related_model=’LinkifiedField’), FieldReverseRelation(name=’Version_release_notes_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’versions.Version’, field_name_on_related_model=’release_notes’, field_type_on_related_model=’PurifiedMarkdownField’), FieldReverseRelation(name=’License_name_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’versions.License’, field_name_on_related_model=’name’, field_type_on_related_model=’TranslatedField’), FieldReverseRelation(name=’License_text_set+ (no reverse relation allowed)’, field_type=’ManyToOneRel’, field_db_type=’integer UNSIGNED’, related_model=’versions.License’, field_name_on_related_model=’text’, field_type_on_related_model=’LinkifiedField’)]

Reverse Relations

Field Name

Field Type

Database Type

Related Model

Field Name on Related Model

Field Type on Related Model

Addon_description_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

description

PurifiedMarkdownField

Addon_developer_comments_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

developer_comments

PurifiedMarkdownField

Addon_eula_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

eula

PurifiedMarkdownField

Addon_homepage_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

homepage

TranslatedField

Addon_name_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

name

TranslatedField

Addon_privacy_policy_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

privacy_policy

PurifiedMarkdownField

Addon_summary_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

summary

NoURLsField

Addon_support_email_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

support_email

TranslatedField

Addon_support_url_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Addon

support_url

TranslatedField

CollectionAddon_comments_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

bandwagon.CollectionAddon

comments

LinkifiedField

Collection_description_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

bandwagon.Collection

description

NoURLsField

Collection_name_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

bandwagon.Collection

name

TranslatedField

License_name_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

versions.License

name

TranslatedField

License_text_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

versions.License

text

LinkifiedField

Preview_caption_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

addons.Preview

caption

TranslatedField

Version_release_notes_set+ (no reverse relation allowed)

ManyToOneRel

integer UNSIGNED

versions.Version

release_notes

PurifiedMarkdownField

Methods

Other Methods

Method Name

Signature

clean_localized_string

(self)

get_admin_absolute_url

(self)

get_admin_url_path

(self)

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

()

linkify_filter

`(source, , callbacks=[<function linkify_bounce_url_callback at 0x7f783dbbdbc0>, <function nofollow at 0x7f783ecafb00>], skip_tags=None, parse_email=False, url_re=re.compile(‘\( # Match any opening parentheses.\n \b(?<![@.])(?:(?:afs

new

(string, locale, id=None)

reload

(self)

serializable_reference

(self)

update

(self, **kw)

Private Methods

Method Name

Signature

_get_field_value_map

(self, meta, exclude=None)

Custom Managers

default

Class: TranslationManager

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

remove_for(self, obj, locale)

Remove a locale for the given object.

transform(self, fn)

Custom QuerySet

Class: BaseQuerySet

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

*Base for all managers in AMO.

Returns BaseQuerySets.

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

Custom Methods

remove_for(self, obj, locale)

Remove a locale for the given object.

transform(self, fn)

Custom QuerySet

Class: BaseQuerySet

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