LookupAttributeMetadata Class

Metadata for a lookup attribute.

Valid required_level values:

  • "None": The attribute is optional

  • "Recommended": The attribute is recommended

  • "ApplicationRequired": The attribute is required

Constructor

LookupAttributeMetadata(schema_name: str, display_name: Label, description: Label | None = None, required_level: str = 'None', additional_properties: Dict[str, Any] | None = None)

Parameters

Name Description
schema_name
Required
str

Schema name for the attribute (e.g., "new_AccountId").

display_name
Required

Display name for the attribute.

description

Optional description of the attribute.

Default value: None
required_level
str

Requirement level for the attribute.

Default value: None
additional_properties

Optional dict of additional properties to include in the Web API payload. Useful for setting properties like "Targets" (to specify which entity types the lookup can reference), "LogicalName", "IsSecured", "IsValidForAdvancedFind", etc. These are merged last and can override default values.

Default value: None

Methods

to_dict

Convert to Web API JSON format.

Example:


   >>> lookup = LookupAttributeMetadata(
   ...     schema_name="new_AccountId",
   ...     display_name=Label([LocalizedLabel("Account", 1033)])
   ... )
   >>> lookup.to_dict()
   {
       '@odata.type': 'Microsoft.Dynamics.CRM.LookupAttributeMetadata',
       'SchemaName': 'new_AccountId',
       'AttributeType': 'Lookup',
       'AttributeTypeName': {'Value': 'LookupType'},
       'DisplayName': {...},
       'RequiredLevel': {'Value': 'None', 'CanBeChanged': True, ...}
   }

to_dict

Convert to Web API JSON format.

Example:


   >>> lookup = LookupAttributeMetadata(
   ...     schema_name="new_AccountId",
   ...     display_name=Label([LocalizedLabel("Account", 1033)])
   ... )
   >>> lookup.to_dict()
   {
       '@odata.type': 'Microsoft.Dynamics.CRM.LookupAttributeMetadata',
       'SchemaName': 'new_AccountId',
       'AttributeType': 'Lookup',
       'AttributeTypeName': {'Value': 'LookupType'},
       'DisplayName': {...},
       'RequiredLevel': {'Value': 'None', 'CanBeChanged': True, ...}
   }
to_dict() -> Dict[str, Any]

Attributes

additional_properties

additional_properties: Dict[str, Any] | None = None

description

description: Label | None = None

display_name

display_name: Label

required_level

required_level: str = 'None'

schema_name

schema_name: str