translations.PureTranslation
Model Info
Key |
Value |
---|---|
Model Name |
PureTranslation |
Verbose Name |
pure translation |
Verbose Name Plural |
pure translations |
Docstring |
Run the string through bleach to get version with escaped HTML. |
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 |
168 |
Method Resolution Order |
(<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 |
---|---|---|---|---|
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
ManyToOneRel |
integer UNSIGNED |
||
|
PositiveAutoField |
autoid |
integer UNSIGNED AUTO_INCREMENT |
autoid |
|
DateTimeField |
created |
datetime(6) |
created |
|
PositiveIntegerField |
id |
integer UNSIGNED |
id |
|
CharField |
locale |
varchar(10) |
locale |
|
TextField |
localized_string |
longtext |
localized string |
|
TextField |
localized_string_clean |
longtext |
localized string clean |
|
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 |
---|---|---|---|---|---|
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
description |
PurifiedMarkdownField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
developer_comments |
PurifiedMarkdownField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
eula |
PurifiedMarkdownField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
homepage |
TranslatedField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
name |
TranslatedField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
privacy_policy |
PurifiedMarkdownField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
summary |
NoURLsField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
support_email |
TranslatedField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Addon |
support_url |
TranslatedField |
|
ManyToOneRel |
integer UNSIGNED |
bandwagon.CollectionAddon |
comments |
LinkifiedField |
|
ManyToOneRel |
integer UNSIGNED |
bandwagon.Collection |
description |
NoURLsField |
|
ManyToOneRel |
integer UNSIGNED |
bandwagon.Collection |
name |
TranslatedField |
|
ManyToOneRel |
integer UNSIGNED |
versions.License |
name |
TranslatedField |
|
ManyToOneRel |
integer UNSIGNED |
versions.License |
text |
LinkifiedField |
|
ManyToOneRel |
integer UNSIGNED |
addons.Preview |
caption |
TranslatedField |
|
ManyToOneRel |
integer UNSIGNED |
versions.Version |
release_notes |
PurifiedMarkdownField |
Methods
Other Methods
Method Name |
Signature |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Methods
Method Name |
Signature |
---|---|
|
|
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-15 !!!