# addons.AddonUser ## Model Info | Key | Value | |---|-----| | Model Name | AddonUser | | Verbose Name | addon user | | Verbose Name Plural | addon users | | Docstring | <p>AddonUser(id, addon, user, role, original\_role, listed, position)</p> | | Is Abstract | False | | Is Proxy | False | | Is Managed | True | | Ordering | [] | | Permissions | [] | | Default Permissions | ('add', 'change', 'delete', 'view') | | Indexes | [<Index: fields=['listed'] name='addons_users_listed_idx'>, <LongNameIndex: fields=['addon', 'user', 'listed'] name='addons_users_addon_user_listed_idx'>, <Index: fields=['addon', 'listed'] name='addons_users_addon_listed_idx'>] | | Constraints | [<UniqueConstraint: fields=('addon', 'user') name='addons_users_addon_user'>] | | Database Table | addons_users | | Base Manager | unfiltered | | Default Manager | None | | File | /data/olympia/src/olympia/addons/models.py | | Starting Line Number | 2247 | | Method Resolution Order | (<class 'olympia.addons.models.AddonUser'>, <class 'olympia.amo.models.OnChangeMixin'>, <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 | |----------|----------|---------------|-------------|------------| | `BannedUserContent_addons_users+` | ManyToOneRel | | integer UNSIGNED | | | `addon` | ForeignKey | addon_id | integer UNSIGNED | addon | | `bannedusercontent` | ManyToManyRel | | through users.BannedUserContent_addons_users | | | `id (pk)` | PositiveAutoField | id | integer UNSIGNED AUTO_INCREMENT | id | | `listed` | BooleanField | listed | bool | Listed | | `original_role` | SmallIntegerField | original_role | smallint | original role | | `position` | IntegerField | position | integer | position | | `role` | SmallIntegerField | role | smallint | role | | `user` | ForeignKey | user_id | integer | user | ## Relations | Field Name | Field Type | Database Column | Database Type | Related Model | Related Name | |----------|----------|---------------|-------------|-------------|------------| | `addon` | ForeignKey | addon_id | integer UNSIGNED | addons.Addon | addonuser_set | | `user` | ForeignKey | user_id | integer | users.UserProfile | addonuser_set | fields_reverse_relation=[FieldReverseRelation(name='BannedUserContent_addons_users+ (no reverse relation allowed)', field_type='ManyToOneRel', field_db_type='integer UNSIGNED', related_model='users.BannedUserContent_addons_users', field_name_on_related_model='addonuser', field_type_on_related_model='ForeignKey'), FieldReverseRelation(name='addonuser_set', field_type='ManyToManyRel', field_db_type='through users.BannedUserContent_addons_users', related_model='users.BannedUserContent', field_name_on_related_model='addons_users', 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 | |----------|----------|-------------|-------------|---------------------------|---------------------------| | `BannedUserContent_addons_users+ (no reverse relation allowed)` | ManyToOneRel | integer UNSIGNED | users.BannedUserContent_addons_users | addonuser | ForeignKey | | `addonuser_set` | ManyToManyRel | through users.BannedUserContent_addons_users | users.BannedUserContent | addons_users | ManyToManyField | ## Methods ### Other Methods | Method Name | Signature | |-----------|---------| | `get_original_role_display` | `(self, *, field=<django.db.models.fields.SmallIntegerField: original_role>)` | | `get_role_display` | `(self, *, field=<django.db.models.fields.SmallIntegerField: role>)` | | `get_unfiltered_manager` | `()` | | `on_change` | `(callback)` | | `reload` | `(self)` | | `update` | `(self, **kwargs)` | ### Private Methods | Method Name | Signature | |-----------|---------| | `_get_field_value_map` | `(self, meta, exclude=None)` | | `_reset_initial_attrs` | `(self, attrs=None)` | | `_send_changes` | `(self, old_attr, new_attr_kw)` | ## Custom Managers ### default **Class:** `AddonUserManager` *Base for all managers in AMO. Returns BaseQuerySets. If a model has translated fields, they'll be attached through a transform function.* #### Custom Methods ##### `transform(self, fn)` #### Custom QuerySet **Class:** `AddonUserQuerySet` *Represent a lazy database lookup for a set of objects.* ##### Custom Methods ###### `undelete(self)` ### objects **Class:** `AddonUserManager` *Base for all managers in AMO. Returns BaseQuerySets. If a model has translated fields, they'll be attached through a transform function.* #### Custom Methods ##### `transform(self, fn)` #### Custom QuerySet **Class:** `AddonUserQuerySet` *Represent a lazy database lookup for a set of objects.* ##### Custom Methods ###### `undelete(self)` ### unfiltered **Class:** `AddonUserManager` *Base for all managers in AMO. Returns BaseQuerySets. If a model has translated fields, they'll be attached through a transform function.* #### Custom Methods ##### `transform(self, fn)` #### Custom QuerySet **Class:** `AddonUserQuerySet` *Represent a lazy database lookup for a set of objects.* ##### Custom Methods ###### `undelete(self)` ### unfiltered_for_relations **Class:** `UnfilteredAddonUserManagerForRelations` *Like AddonUserManager, but defaults to include deleted objects. Designed to be used in reverse relations of AddonUser that want to include soft-deleted objects.* #### Custom Methods ##### `transform(self, fn)` #### Custom QuerySet **Class:** `AddonUserQuerySet` *Represent a lazy database lookup for a set of objects.* ##### Custom Methods ###### `undelete(self)` --- !!! THIS DOCUMENT WAS *AUTOGENERATED* ON 2025-07-31 !!!