RelationshipInfo Class

Typed return model for relationship metadata.

Returned by create_one_to_many_relationship, create_many_to_many_relationship, get_relationship, and create_lookup_field.

Example:


   result = client.tables.create_one_to_many_relationship(lookup, relationship)
   print(result.relationship_schema_name)
   print(result.lookup_schema_name)

Constructor

RelationshipInfo(relationship_id: str | None = None, relationship_schema_name: str = '', relationship_type: str = '', lookup_schema_name: str | None = None, referenced_entity: str | None = None, referencing_entity: str | None = None, entity1_logical_name: str | None = None, entity2_logical_name: str | None = None)

Parameters

Name Description
relationship_id
str

Relationship metadata GUID.

Default value: None
relationship_schema_name
Required
str

Relationship schema name.

relationship_type
Required
str

Either "one_to_many" or "many_to_many".

lookup_schema_name
str

Lookup field schema name (one-to-many only).

Default value: None
referenced_entity
str

Parent entity logical name (one-to-many only).

Default value: None
referencing_entity
str

Child entity logical name (one-to-many only).

Default value: None
entity1_logical_name
str

First entity logical name (many-to-many only).

Default value: None
entity2_logical_name
str

Second entity logical name (many-to-many only).

Default value: None

Methods

from_api_response

Create from a raw Dataverse Web API response.

Detects one-to-many vs many-to-many from the @odata.type field in the response and maps PascalCase keys to snake_case attributes. Dataverse only supports these two relationship types; an unrecognized @odata.type raises ValueError.

from_many_to_many

Create from a many-to-many relationship result.

from_one_to_many

Create from a one-to-many relationship result.

from_api_response

Create from a raw Dataverse Web API response.

Detects one-to-many vs many-to-many from the @odata.type field in the response and maps PascalCase keys to snake_case attributes. Dataverse only supports these two relationship types; an unrecognized @odata.type raises ValueError.

from_api_response(response_data: Dict[str, Any]) -> RelationshipInfo

Parameters

Name Description
response_data
Required

Raw relationship metadata from the Web API.

Returns

Type Description

Exceptions

Type Description

If the @odata.type is not a recognized relationship type.

from_many_to_many

Create from a many-to-many relationship result.

from_many_to_many(*, relationship_id: str | None, relationship_schema_name: str, entity1_logical_name: str, entity2_logical_name: str) -> RelationshipInfo

Parameters

Name Description
relationship_id
Required
str

Relationship metadata GUID.

relationship_schema_name
Required
str

Relationship schema name.

entity1_logical_name
Required
str

First entity logical name.

entity2_logical_name
Required
str

Second entity logical name.

Keyword-Only Parameters

Name Description
relationship_id
Required
relationship_schema_name
Required
entity1_logical_name
Required
entity2_logical_name
Required

Returns

Type Description

from_one_to_many

Create from a one-to-many relationship result.

from_one_to_many(*, relationship_id: str | None, relationship_schema_name: str, lookup_schema_name: str, referenced_entity: str, referencing_entity: str) -> RelationshipInfo

Parameters

Name Description
relationship_id
Required
str

Relationship metadata GUID.

relationship_schema_name
Required
str

Relationship schema name.

lookup_schema_name
Required
str

Lookup field schema name.

referenced_entity
Required
str

Parent entity logical name.

referencing_entity
Required
str

Child entity logical name.

Keyword-Only Parameters

Name Description
relationship_id
Required
relationship_schema_name
Required
lookup_schema_name
Required
referenced_entity
Required
referencing_entity
Required

Returns

Type Description

Attributes

entity1_logical_name

entity1_logical_name: str | None = None

entity2_logical_name

entity2_logical_name: str | None = None

lookup_schema_name

lookup_schema_name: str | None = None

referenced_entity

referenced_entity: str | None = None

referencing_entity

referencing_entity: str | None = None

relationship_id

relationship_id: str | None = None

relationship_schema_name

relationship_schema_name: str = ''

relationship_type

relationship_type: str = ''