Third party

class axes.models.AccessAttempt(id, user_agent, ip_address, username, http_accept, path_info, attempt_time, get_data, post_data, failures_since_start)
Parameters:
  • id (AutoField) – Id

  • user_agent (CharField) – User agent

  • ip_address (GenericIPAddressField) – Ip address

  • username (CharField) – Gebruikersnaam

  • http_accept (CharField) – Http accept

  • path_info (CharField) – Path

  • attempt_time (DateTimeField) – Attempt time

  • get_data (TextField) – Get data

  • post_data (TextField) – Post data

  • failures_since_start (PositiveIntegerField) – Failed logins

class axes.models.AccessAttemptExpiration(access_attempt, expires_at)
Parameters:
  • access_attempt_id (OneToOneField to AccessAttempt) – Access attempt

  • expires_at (DateTimeField) – The time when access attempt expires and is no longer valid.

class axes.models.AccessBase(*args, **kwargs)
Parameters:
  • user_agent (CharField) – User agent

  • ip_address (GenericIPAddressField) – Ip address

  • username (CharField) – Gebruikersnaam

  • http_accept (CharField) – Http accept

  • path_info (CharField) – Path

  • attempt_time (DateTimeField) – Attempt time

class axes.models.AccessFailureLog(id, user_agent, ip_address, username, http_accept, path_info, attempt_time, locked_out)
Parameters:
  • id (AutoField) – Id

  • user_agent (CharField) – User agent

  • ip_address (GenericIPAddressField) – Ip address

  • username (CharField) – Gebruikersnaam

  • http_accept (CharField) – Http accept

  • path_info (CharField) – Path

  • attempt_time (DateTimeField) – Attempt time

  • locked_out (BooleanField) – Access lock out

class axes.models.AccessLog(id, user_agent, ip_address, username, http_accept, path_info, attempt_time, logout_time, session_hash)
Parameters:
  • id (AutoField) – Id

  • user_agent (CharField) – User agent

  • ip_address (GenericIPAddressField) – Ip address

  • username (CharField) – Gebruikersnaam

  • http_accept (CharField) – Http accept

  • path_info (CharField) – Path

  • attempt_time (DateTimeField) – Attempt time

  • logout_time (DateTimeField) – Logout time

  • session_hash (CharField) – Session key hash (sha256)

class django.contrib.admin.models.LogEntry(id, action_time, user, content_type, object_id, object_repr, action_flag, change_message)
Parameters:
  • id (AutoField) – Id

  • action_time (DateTimeField) – Actietijd

  • user_id (ForeignKey to User) – Gebruiker

  • content_type_id (ForeignKey to ContentType) – Inhoudstype

  • object_id (TextField) – Object-id

  • object_repr (CharField) – Object-repr

  • action_flag (PositiveSmallIntegerField) – Actievlag

  • change_message (TextField) – Wijzigingsbericht

get_admin_url()

Return the admin URL to edit the object represented by this log entry.

get_change_message()

If self.change_message is a JSON structure, interpret it as a change string, properly translated.

get_edited_object()

Return the edited object represented by this log entry.

class django.contrib.auth.models.AbstractUser(*args, **kwargs)

An abstract base class implementing a fully featured User model with admin-compliant permissions.

Username and password are required. Other fields are optional.

Parameters:
  • password (CharField) – Wachtwoord

  • last_login (DateTimeField) – Laatste aanmelding

  • is_superuser (BooleanField) – Bepaalt dat deze gebruiker alle rechten heeft, zonder deze expliciet toe te wijzen.

  • username (CharField) – Vereist. 150 tekens of minder. Alleen letters, cijfers en de tekens @/,/+/-/_ zijn toegestaan.

  • first_name (CharField) – Voornaam

  • last_name (CharField) – Achternaam

  • email (EmailField) – Emailadres

  • is_staff (BooleanField) – Bepaalt of een gebruiker kan inloggen op deze admin site.

  • is_active (BooleanField) – Bepaalt of een gebruiker als actief behandeld moet worden. Deselecteer dit i.p.v. accounten te verwijderen.

  • date_joined (DateTimeField) – Toetredingsdatum

  • groups (ManyToManyField) – De groep waartoe deze gebruiker behoort. Gebruikers krijgen alle rechten behorende bij hun groepen.

  • user_permissions (ManyToManyField) – Specifieke rechten voor deze gebruiker.

email_user(subject, message, from_email=None, **kwargs)

Send an email to this user.

get_full_name()

Return the first_name plus the last_name, with a space in between.

get_short_name()

Return the short name for the user.

class django.contrib.auth.models.Group(*args, **kwargs)

Groups are a generic way of categorizing users to apply permissions, or some other label, to those users. A user can belong to any number of groups.

A user in a group automatically has all the permissions granted to that group. For example, if the group ‘Site editors’ has the permission can_edit_home_page, any user in that group will have that permission.

Beyond permissions, groups are a convenient way to categorize users to apply some label, or extended functionality, to them. For example, you could create a group ‘Special users’, and you could write code that would do special things to those users – such as giving them access to a members-only portion of your site, or sending them members-only email messages.

Parameters:
  • id (AutoField) – Id

  • name (CharField) – Naam

  • permissions (ManyToManyField) – Rechten

class django.contrib.auth.models.GroupManager(*args, **kwargs)

The manager for the auth’s Group model.

use_in_migrations = True

If set to True the manager will be serialized into migrations and will thus be available in e.g. RunPython operations.

class django.contrib.auth.models.Permission(*args, **kwargs)

The permissions system provides a way to assign permissions to specific users and groups of users.

The permission system is used by the Django admin site, but may also be useful in your own code. The Django admin site uses permissions as follows:

  • The “add” permission limits the user’s ability to view the “add” form and add an object.

  • The “change” permission limits a user’s ability to view the change list, view the “change” form and change an object.

  • The “delete” permission limits the ability to delete an object.

  • The “view” permission limits the ability to view an object.

Permissions are set globally per type of object, not per specific object instance. It is possible to say “Mary may change news stories,” but it’s not currently possible to say “Mary may change news stories, but only the ones she created herself” or “Mary may only change news stories that have a certain status or publication date.”

The permissions listed above are automatically created for each model.

Parameters:
  • id (AutoField) – Id

  • name (CharField) – Naam

  • content_type_id (ForeignKey to ContentType) – Inhoudstype

  • codename (CharField) – Codenaam

class django.contrib.auth.models.PermissionsMixin(*args, **kwargs)

Add the fields and methods necessary to support the Group and Permission models using the ModelBackend.

Parameters:
  • is_superuser (BooleanField) – Bepaalt dat deze gebruiker alle rechten heeft, zonder deze expliciet toe te wijzen.

  • groups (ManyToManyField) – De groep waartoe deze gebruiker behoort. Gebruikers krijgen alle rechten behorende bij hun groepen.

  • user_permissions (ManyToManyField) – Specifieke rechten voor deze gebruiker.

async aget_group_permissions(obj=None)

See get_group_permissions()

async aget_user_permissions(obj=None)

See get_user_permissions()

async ahas_module_perms(app_label)

See has_module_perms()

async ahas_perm(perm, obj=None)

See has_perm()

async ahas_perms(perm_list, obj=None)

See has_perms()

get_group_permissions(obj=None)

Return a list of permission strings that this user has through their groups. Query all available auth backends. If an object is passed in, return only permissions matching this object.

get_user_permissions(obj=None)

Return a list of permission strings that this user has directly. Query all available auth backends. If an object is passed in, return only permissions matching this object.

has_module_perms(app_label)

Return True if the user has any permissions in the given app label. Use similar logic as has_perm(), above.

has_perm(perm, obj=None)

Return True if the user has the specified permission. Query all available auth backends, but return immediately if any backend returns True. Thus, a user who has permission from a single auth backend is assumed to have permission in general. If an object is provided, check permissions for that object.

has_perms(perm_list, obj=None)

Return True if the user has each of the specified permissions. If object is passed, check if the user has all required perms for it.

class django.contrib.auth.models.User(*args, **kwargs)

Users within the Django authentication system are represented by this model.

Username and password are required. Other fields are optional.

Parameters:
  • id (AutoField) – Id

  • password (CharField) – Wachtwoord

  • last_login (DateTimeField) – Laatste aanmelding

  • is_superuser (BooleanField) – Bepaalt dat deze gebruiker alle rechten heeft, zonder deze expliciet toe te wijzen.

  • username (CharField) – Vereist. 150 tekens of minder. Alleen letters, cijfers en de tekens @/,/+/-/_ zijn toegestaan.

  • first_name (CharField) – Voornaam

  • last_name (CharField) – Achternaam

  • email (EmailField) – Emailadres

  • is_staff (BooleanField) – Bepaalt of een gebruiker kan inloggen op deze admin site.

  • is_active (BooleanField) – Bepaalt of een gebruiker als actief behandeld moet worden. Deselecteer dit i.p.v. accounten te verwijderen.

  • date_joined (DateTimeField) – Toetredingsdatum

  • groups (ManyToManyField) – De groep waartoe deze gebruiker behoort. Gebruikers krijgen alle rechten behorende bij hun groepen.

  • user_permissions (ManyToManyField) – Specifieke rechten voor deze gebruiker.

django.contrib.auth.models.update_last_login(sender, user, **kwargs)

A signal receiver which updates the last_login date for the user logging in.

class django.contrib.contenttypes.models.ContentType(id, app_label, model)
Parameters:
  • id (AutoField) – Id

  • app_label (CharField) – App label

  • model (CharField) – Klassenaam van pythonmodel

get_all_objects_for_this_type(**kwargs)

Return all objects of this type for the keyword arguments given.

get_object_for_this_type(using=None, **kwargs)

Return an object of this type for the keyword arguments given. Basically, this is a proxy around this object_type’s get_object() model method. The ObjectNotExist exception, if thrown, will not be caught, so code that calls this method should catch it.

model_class()

Return the model class for this type of content.

class django.contrib.sites.models.Site(id, domain, name)
Parameters:
  • id (AutoField) – Id

  • domain (CharField) – Domeinnaam

  • name (CharField) – Weergavenaam

django.contrib.sites.models.clear_site_cache(sender, **kwargs)

Clear the cache (if primed) each time a site is saved or deleted.

class django_admin_index.models.AppGroup(id, order, translations, name, slug)
Parameters:
  • id (BigAutoField) – Id

  • order (PositiveIntegerField) – Sorteer

  • translations (JSONField) – Een JSON-object waarbij de key een Django taalcode is en de vertaalde naam de waarde. Indien er geen vertaling bestaat voor de actieve taal, dan wordt de onvertaalde naam gebruikt. Bijvoorbeeld: {“en”: “File”, “nl”: “Bestand”}

  • name (CharField) – Naam

  • slug (SlugField) – Slug

  • models (ManyToManyField) – Models

class django_admin_index.models.AppGroupQuerySet(model=None, query=None, using=None, hints=None)
Parameters:
  • id (BigAutoField) – Id

  • order (PositiveIntegerField) – Sorteer

  • translations (JSONField) – Een JSON-object waarbij de key een Django taalcode is en de vertaalde naam de waarde. Indien er geen vertaling bestaat voor de actieve taal, dan wordt de onvertaalde naam gebruikt. Bijvoorbeeld: {“en”: “File”, “nl”: “Bestand”}

  • app_group_id (ForeignKey to AppGroup) – App group

  • name (CharField) – Name

  • link (CharField) – Link

class django_admin_index.models.AppLinkQuerySet(model=None, query=None, using=None, hints=None)
class django_admin_index.models.ContentTypeProxy(id, app_label, model)
Parameters:
  • id (AutoField) – Id

  • app_label (CharField) – App label

  • model (CharField) – Klassenaam van pythonmodel

class django_camunda.models.CamundaConfig(id, enabled, root_url, rest_api_path, auth_header)
Parameters:
  • id (BigAutoField) – Id

  • enabled (BooleanField) – Global flag to enable/disable Camunda integration.

  • root_url (URLField) – Root URL where camunda is installed. The REST api path is appended to this.

  • rest_api_path (CharField) – Rest api path

  • auth_header (TextField) – HTTP Authorization header value, required if the API is not open.

class django_camunda.models.ProcessInstanceMixin(*args, **kwargs)
Parameters:
  • camunda_process_instance_id (CharField) – Process instance id

  • camunda_process_instance_url (URLField) – Process instance url

class mozilla_django_oidc_db.models.OIDCClient(*args, **kwargs)

Hold the client configuration for the Relying Party (RP).

At minimum, the client credentials need to be configured for the associated OIDC Provider (OP). Additional dynamic configuration options can be specified that are tied to specific use cases.

Parameters:
  • id (AutoField) – Id

  • identifier (SlugField) – Unique identifier for the client.

  • enabled (BooleanField) – The client must be enabled before users can authenticate through it.

  • oidc_provider_id (ForeignKey to OIDCProvider) – Specifies which OIDC Provider to use.

  • oidc_rp_client_id (CharField) – Client ID provided by the OIDC Provider

  • oidc_rp_client_secret (CharField) – Secret provided by the OIDC Provider

  • oidc_rp_scopes_list (ArrayField) – Scopes that are requested during login

  • oidc_rp_sign_algo (CharField) – Algorithm the Identity Provider uses to sign ID tokens

  • oidc_rp_idp_sign_key (CharField) – Key the Identity Provider uses to sign ID tokens in the case of an RSA sign algorithm. Should be the signing key in PEM or DER format.

  • oidc_keycloak_idp_hint (CharField) – Specific for Keycloak: parameter that indicates which identity provider should be used (therefore skipping the Keycloak login screen).

  • userinfo_claims_source (CharField) – Indicates the source from which the user information claims should be extracted. This can be the ID token or the User Info endpoint.

  • check_op_availability (BooleanField) – Whether to check OIDC Provider availability before doing the authentication request.

  • options (JSONField) – Options relevant for a specific Identity Provider.

property oidc_rp_scopes: str

Scopes should be formatted as a string with spaces

class mozilla_django_oidc_db.models.OIDCProvider(*args, **kwargs)

Manage the configuration/connection parameters for a single OIDC Provider (OP).

Parameters:
  • id (AutoField) – Id

  • identifier (SlugField) – Unique identifier of the OIDC provider.

  • oidc_op_discovery_endpoint (URLField) – URL of your provider discovery endpoint ending with a slash (.well-known/… will be added automatically). If this is provided, the remaining endpoints can be omitted, as they will be derived from this endpoint.

  • oidc_op_jwks_endpoint (URLField) – URL of your provider JSON Web Key Set endpoint. Required if RS256 is used as signing algorithm.

  • oidc_op_authorization_endpoint (URLField) – URL of your provider authorization endpoint

  • oidc_op_token_endpoint (URLField) – URL of your provider token endpoint

  • oidc_op_user_endpoint (URLField) – URL of your provider userinfo endpoint.

  • oidc_op_logout_endpoint (URLField) – URL of your provider logout endpoint.

  • oidc_token_use_basic_auth (BooleanField) – If enabled, the client ID and secret are sent in the HTTP Basic auth header when obtaining the access token. Otherwise, they are sent in the request body.

  • oidc_use_nonce (BooleanField) – Controls whether the client uses nonce verification

  • oidc_nonce_size (PositiveIntegerField) – Sets the length of the random string used for nonce verification

  • oidc_state_size (PositiveIntegerField) – Sets the length of the random string used for state verification

class mozilla_django_oidc_db.models.OpenIDConnectConfig(id)
Parameters:

id (AutoField) – Id

class mozilla_django_oidc_db.models.UserInformationClaimsSources(value)

An enumeration.

mozilla_django_oidc_db.models.get_default_scopes() list[str]

Returns the default scopes to request for OpenID Connect logins

class rest_framework.authtoken.models.Token(*args, **kwargs)

The default authorization token model.

Parameters:
  • key (CharField) – Key

  • user_id (OneToOneField to User) – Gebruiker

  • created (DateTimeField) – Aangemaakt

class rest_framework.authtoken.models.TokenProxy(*args, **kwargs)

Proxy mapping pk to user pk for use in admin.

Parameters:
  • key (CharField) – Key

  • user_id (OneToOneField to User) – Gebruiker

  • created (DateTimeField) – Aangemaakt

class zgw_consumers.models.Certificate(id, label, type, public_certificate, private_key)
Parameters:
  • id (AutoField) – Id

  • label (CharField) – Recognisable label for the certificate

  • type (CharField) – Is this only a certificate or is there an associated private key?

  • public_certificate (PrivateMediaFileField) – The content of the certificate

  • private_key (PrivateMediaFileField) – The content of the private key

class zgw_consumers.models.NLXConfig(id, directory, outway, certificate, certificate_key)
Parameters:
  • id (AutoField) – Id

  • directory (CharField) – Nlx directory

  • outway (URLField) – Example: http://my-outway.nlx:8080

  • certificate (PrivateMediaFileField) – Your organization TLS certificate for the NLX network. This is used to fetch the list of available services from the NLX directory API.

  • certificate_key (PrivateMediaFileField) – Your organization TLS private key for the NLX network. This is used to fetch the list of available services from the NLX directory API.

class zgw_consumers.models.Service(id, label, uuid, slug, api_type, api_root, api_connection_check_path, auth_type, client_id, secret, oauth2_token_url, oauth2_scope, jwt_valid_for, header_key, header_value, nlx, user_id, user_representation, client_certificate, server_certificate, timeout)
Parameters:
  • id (AutoField) – Id

  • label (CharField) – Label

  • uuid (UUIDField) – Uuid

  • slug (SlugField) – A unique, human-friendly slug to identify this service. Primarily useful for cross-instance import/export.

  • api_type (CharField) – Type

  • api_root (CharField) – The root URL of the service that will be used to construct the URLs when making requests.

  • api_connection_check_path (CharField) – A relative URL to perform a connection test. If left blank, the API root itself is used. This connection check is only performed in the admin when viewing the service configuration.

  • auth_type (CharField) – The type of authorization to use for this service.

  • client_id (CharField) – The client ID used to construct the JSON Web Token to connect with the service (only needed if auth type is zgw or oauth2_client_credentials).

  • secret (CharField) – The secret used to construct the JSON Web Token to connect with the service (only needed if auth type is zgw or oauth2_client_credentials).

  • oauth2_token_url (URLField) – OAuth2 token endpoint for client credentials flow. (Only needed if auth type is OAuth2)

  • oauth2_scope (CharField) – Optional OAuth2 scope (space-separated). Included in the token request body if defined. (Only needed if auth type is OAuth2)

  • jwt_valid_for (PositiveIntegerField) – How long a JWT is valid for, in seconds. This controls the ‘exp’ claim (only used if auth type is zgw).

  • header_key (CharField) – The header key used to store the API key (only needed if auth type is api_key).

  • header_value (CharField) – The API key to connect with the service (only needed if auth type is api_key).

  • nlx (URLField) – NLX (outway) address.

  • user_id (CharField) – User ID to use for the audit trail. Although these external API credentials are typically used bythis API itself instead of a user, the user ID is required.

  • user_representation (CharField) – Human readable representation of the user.

  • client_certificate_id (ForeignKey to Certificate) – The SSL/TLS certificate of the client

  • server_certificate_id (ForeignKey to Certificate) – The SSL/TLS certificate of the server

  • timeout (PositiveSmallIntegerField) – Timeout (in seconds) for HTTP calls.

build_client(**kwargs)

Build a ZGWClient for this Service.

Provides backward compatibility with zgw-consumers <1.0 by using our custom ZGWClient instead of the default client.

class zgw_consumers.models.ServiceUrlField(base_field: str, relative_field: str, **kwargs)

Composite field to store the base and relative parts of the url separately.

This class is supposed to use with zgw_consumers.Service model

contribute_to_class(cls, name, private_only=False)

Register the field with the model class it belongs to.

If private_only is True, create a separate instance of this field for every subclass of cls, even if cls is not an abstract model.

deconstruct()

Return enough information to recreate the field as a 4-tuple:

  • The name of the field on the model, if contribute_to_class() has been run.

  • The import path of the field, including the class, e.g. django.db.models.IntegerField. This should be the most portable version, so less specific may be better.

  • A list of positional arguments.

  • A dict of keyword arguments.

Note that the positional or keyword arguments must contain values of the following types (including inner values of collection types):

  • None, bool, str, int, float, complex, set, frozenset, list, tuple, dict

  • UUID

  • datetime.datetime (naive), datetime.date

  • top-level classes, top-level functions - will be referenced by their full import path

  • Storage instances - these have their own deconstruct() method

This is because the values here must be serialized into a text format (possibly new Python code, possibly JSON) and these are the only types with encoding handlers defined.

There’s no need to return the exact way the field was instantiated this time, just ensure that the resulting field is the same - prefer keyword arguments over positional ones, and omit parameters with their default values.

descriptor_class

alias of ServiceUrlDescriptor

class zgw_consumers.models.Certificate(id, label, type, public_certificate, private_key)
Parameters:
  • id (AutoField) – Id

  • label (CharField) – Recognisable label for the certificate

  • type (CharField) – Is this only a certificate or is there an associated private key?

  • public_certificate (PrivateMediaFileField) – The content of the certificate

  • private_key (PrivateMediaFileField) – The content of the private key

class zgw_consumers.models.NLXConfig(id, directory, outway, certificate, certificate_key)
Parameters:
  • id (AutoField) – Id

  • directory (CharField) – Nlx directory

  • outway (URLField) – Example: http://my-outway.nlx:8080

  • certificate (PrivateMediaFileField) – Your organization TLS certificate for the NLX network. This is used to fetch the list of available services from the NLX directory API.

  • certificate_key (PrivateMediaFileField) – Your organization TLS private key for the NLX network. This is used to fetch the list of available services from the NLX directory API.

class zgw_consumers.models.Service(id, label, uuid, slug, api_type, api_root, api_connection_check_path, auth_type, client_id, secret, oauth2_token_url, oauth2_scope, jwt_valid_for, header_key, header_value, nlx, user_id, user_representation, client_certificate, server_certificate, timeout)
Parameters:
  • id (AutoField) – Id

  • label (CharField) – Label

  • uuid (UUIDField) – Uuid

  • slug (SlugField) – A unique, human-friendly slug to identify this service. Primarily useful for cross-instance import/export.

  • api_type (CharField) – Type

  • api_root (CharField) – The root URL of the service that will be used to construct the URLs when making requests.

  • api_connection_check_path (CharField) – A relative URL to perform a connection test. If left blank, the API root itself is used. This connection check is only performed in the admin when viewing the service configuration.

  • auth_type (CharField) – The type of authorization to use for this service.

  • client_id (CharField) – The client ID used to construct the JSON Web Token to connect with the service (only needed if auth type is zgw or oauth2_client_credentials).

  • secret (CharField) – The secret used to construct the JSON Web Token to connect with the service (only needed if auth type is zgw or oauth2_client_credentials).

  • oauth2_token_url (URLField) – OAuth2 token endpoint for client credentials flow. (Only needed if auth type is OAuth2)

  • oauth2_scope (CharField) – Optional OAuth2 scope (space-separated). Included in the token request body if defined. (Only needed if auth type is OAuth2)

  • jwt_valid_for (PositiveIntegerField) – How long a JWT is valid for, in seconds. This controls the ‘exp’ claim (only used if auth type is zgw).

  • header_key (CharField) – The header key used to store the API key (only needed if auth type is api_key).

  • header_value (CharField) – The API key to connect with the service (only needed if auth type is api_key).

  • nlx (URLField) – NLX (outway) address.

  • user_id (CharField) – User ID to use for the audit trail. Although these external API credentials are typically used bythis API itself instead of a user, the user ID is required.

  • user_representation (CharField) – Human readable representation of the user.

  • client_certificate_id (ForeignKey to Certificate) – The SSL/TLS certificate of the client

  • server_certificate_id (ForeignKey to Certificate) – The SSL/TLS certificate of the server

  • timeout (PositiveSmallIntegerField) – Timeout (in seconds) for HTTP calls.

build_client(**kwargs)

Build a ZGWClient for this Service.

Provides backward compatibility with zgw-consumers <1.0 by using our custom ZGWClient instead of the default client.

class zgw_consumers.models.ServiceUrlField(base_field: str, relative_field: str, **kwargs)

Composite field to store the base and relative parts of the url separately.

This class is supposed to use with zgw_consumers.Service model

contribute_to_class(cls, name, private_only=False)

Register the field with the model class it belongs to.

If private_only is True, create a separate instance of this field for every subclass of cls, even if cls is not an abstract model.

deconstruct()

Return enough information to recreate the field as a 4-tuple:

  • The name of the field on the model, if contribute_to_class() has been run.

  • The import path of the field, including the class, e.g. django.db.models.IntegerField. This should be the most portable version, so less specific may be better.

  • A list of positional arguments.

  • A dict of keyword arguments.

Note that the positional or keyword arguments must contain values of the following types (including inner values of collection types):

  • None, bool, str, int, float, complex, set, frozenset, list, tuple, dict

  • UUID

  • datetime.datetime (naive), datetime.date

  • top-level classes, top-level functions - will be referenced by their full import path

  • Storage instances - these have their own deconstruct() method

This is because the values here must be serialized into a text format (possibly new Python code, possibly JSON) and these are the only types with encoding handlers defined.

There’s no need to return the exact way the field was instantiated this time, just ensure that the resulting field is the same - prefer keyword arguments over positional ones, and omit parameters with their default values.

descriptor_class

alias of ServiceUrlDescriptor