2023-12-18 00:59:36 +01:00

59 lines
1.6 KiB
Markdown

# Alliance Auth Helper-Functions API
## User API
### get_main_character_from_user
This is to get the main character object (`EveCharacter`) of a user.
Given we have a `User` object called `my_user` and we want to get the main character:
```python
# Alliance Auth
from allianceauth.framework.api.user import get_main_character_from_user
main_character = get_main_character_from_user(user=my_user)
```
Now, `main_character` is an `EveCharacter` object, or `None` if the user has no main
character or the user is `None`.
### get_main_character_name_from_user
This is to get the name of the main character of a user.
Given we have a `User` object called `my_user` and we want to get the main character name:
```python
# Alliance Auth
from allianceauth.framework.api.user import get_main_character_name_from_user
main_character = get_main_character_name_from_user(user=my_user)
```
Now, `main_character` is a `string` containing the user's main character name.
If the user has no main character, the username will be returned. If the user is `None`,
the sentinel username (see [get_sentinel_user](#get-sentinel-user)) will be returned.
### get_sentinel_user
This function is useful in models when using `User` model-objects as foreign keys.
Django needs to know what should happen to those relations when the user is being
deleted. To keep the data, you can have Django map this to the sentinel user.
Import:
```python
# Alliance Auth
from allianceauth.framework.api.user import get_sentinel_user
```
And later in your model:
```python
creator = models.ForeignKey(
to=User,
on_delete=models.SET(get_sentinel_user),
)
```