---
url: "https://vueda.dev/v3/reference/api/py/vueda.user.models/AbstractVUEDAUser.md"
title: "AbstractVUEDAUser"
---

# AbstractVUEDAUser

## Overview

Default user for VUEDA

Verses django default, it features:
- row level permissions, via Meta.row_level_permissions.check_instance, see BaseRowLevelPermissions
- workflow state permissions
- email as the unique identifier
- email as a case-insensitive unique field
- name as a required field
- name as a single field, instead of first_name and last_name
- is_system flag

## `Meta` {#Meta}

Shared ``Meta`` options for all VUEDA user models: ordering, GIN indexes, and extra permissions.

### Source {#Meta-source}

`server/vueda/user/models.py:113`

## `date_joined` {#date_joined}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#date_joined-signature}

`date_joined(unknown)`

#### Parameters {#date_joined-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="date_joined-param-unknown">unknown</span> |  | yes |  |  |

## `email` {#email}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#email-signature}

`email(unknown)`

#### Parameters {#email-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="email-param-unknown">unknown</span> |  | yes |  |  |

## `formatted_name` {#formatted_name}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#formatted_name-signature}

`formatted_name(unknown)`

#### Parameters {#formatted_name-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="formatted_name-param-unknown">unknown</span> |  | yes |  |  |

## `generate_reset_url` {#generate_reset_url}

Generates a password reset URL for the given user.

### Signature {#generate_reset_url-signature}

`generate_reset_url(self)`

#### Parameters {#generate_reset_url-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |

### Source {#generate_reset_url-source}

`server/vueda/user/models.py:131`

## `get_next_by_date_joined` {#get_next_by_date_joined}

Method descriptor with partial application of the given arguments
and keywords.

Supports wrapping existing descriptors and handles non-descriptor
callables as instance methods.

### Signature {#get_next_by_date_joined-signature}

`get_next_by_date_joined(unknown)`

#### Parameters {#get_next_by_date_joined-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="get_next_by_date_joined-param-unknown">unknown</span> |  | yes |  |  |

## `get_previous_by_date_joined` {#get_previous_by_date_joined}

Method descriptor with partial application of the given arguments
and keywords.

Supports wrapping existing descriptors and handles non-descriptor
callables as instance methods.

### Signature {#get_previous_by_date_joined-signature}

`get_previous_by_date_joined(unknown)`

#### Parameters {#get_previous_by_date_joined-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="get_previous_by_date_joined-param-unknown">unknown</span> |  | yes |  |  |

## `is_active` {#is_active}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#is_active-signature}

`is_active(unknown)`

#### Parameters {#is_active-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="is_active-param-unknown">unknown</span> |  | yes |  |  |

## `is_superuser` {#is_superuser}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#is_superuser-signature}

`is_superuser(unknown)`

#### Parameters {#is_superuser-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="is_superuser-param-unknown">unknown</span> |  | yes |  |  |

## `is_system` {#is_system}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#is_system-signature}

`is_system(unknown)`

#### Parameters {#is_system-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="is_system-param-unknown">unknown</span> |  | yes |  |  |

## `last_login` {#last_login}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#last_login-signature}

`last_login(unknown)`

#### Parameters {#last_login-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="last_login-param-unknown">unknown</span> |  | yes |  |  |

## `name` {#name}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#name-signature}

`name(unknown)`

#### Parameters {#name-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="name-param-unknown">unknown</span> |  | yes |  |  |

## `objects` {#objects}

### Signature {#objects-signature}

`objects(unknown)`

#### Parameters {#objects-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="objects-param-unknown">unknown</span> |  | yes |  |  |

## `password` {#password}

A wrapper for a deferred-loading field. When the value is read from this
object the first time, the query is executed.

### Signature {#password-signature}

`password(unknown)`

#### Parameters {#password-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="password-param-unknown">unknown</span> |  | yes |  |  |

## `send_welcome_email` {#send_welcome_email}

Send a welcome email with a password-reset link to the user's email address.

### Signature {#send_welcome_email-signature}

`send_welcome_email(self)`

#### Parameters {#send_welcome_email-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |

### Source {#send_welcome_email-source}

`server/vueda/user/models.py:119`

## `EMAIL_FIELD` {#EMAIL_FIELD}

## `REQUIRED_FIELDS` {#REQUIRED_FIELDS}

## `USERNAME_FIELD` {#USERNAME_FIELD}

## `groups` {#groups}

Accessor to the related objects manager on the forward and reverse sides of
a many-to-many relation.

In the example::

    class Pizza(Model):
        toppings = ManyToManyField(Topping, related_name='pizzas')

``Pizza.toppings`` and ``Topping.pizzas`` are ``ManyToManyDescriptor``
instances.

Most of the implementation is delegated to a dynamically defined manager
class built by ``create_forward_many_to_many_manager()`` defined below.

## `user_permissions` {#user_permissions}

Accessor to the related objects manager on the forward and reverse sides of
a many-to-many relation.

In the example::

    class Pizza(Model):
        toppings = ManyToManyField(Topping, related_name='pizzas')

``Pizza.toppings`` and ``Topping.pizzas`` are ``ManyToManyDescriptor``
instances.

Most of the implementation is delegated to a dynamically defined manager
class built by ``create_forward_many_to_many_manager()`` defined below.

## Source

`server/vueda/user/models.py:78`
