You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+49-13Lines changed: 49 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,11 +99,12 @@ The SDK provides a simple, pythonic interface for Dataverse operations:
99
99
| Concept | Description |
100
100
|---------|-------------|
101
101
|**DataverseClient**| Main entry point for all operations with environment connection |
102
-
|**Records**| Dataverse records represented as Python dictionaries with logical field names |
103
-
|**Logical Names**| Use table logical names (`"account"`) and column logical names (`"name"`) |
102
+
|**Records**| Dataverse records represented as Python dictionaries with column schema names |
103
+
|**Schema names**| Use table schema names (`"account"`, `"new_MyTestTable"`) and column schema names (`"name"`, `"new_MyTestColumn"`). See: [Table definitions in Microsoft Dataverse](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/entity-metadata)|
104
104
|**Bulk Operations**| Efficient bulk processing for multiple records with automatic optimization |
105
105
|**Paging**| Automatic handling of large result sets with iterators |
106
106
|**Structured Errors**| Detailed exception hierarchy with retry guidance and diagnostic information |
107
+
|**Customization prefix values**| Custom tables and columns require a customization prefix value to be included for all operations (e.g., `"new_MyTestTable"`, not `"MyTestTable"`). See: [Table definitions in Microsoft Dataverse](https://learn.microsoft.com/en-us/power-apps/developer/data-platform/entity-metadata)|
107
108
108
109
## Examples
109
110
@@ -175,40 +176,75 @@ for record in results:
175
176
print(record["name"])
176
177
177
178
# OData query with paging
179
+
# Note: filter and expand parameters are case sensitive
178
180
pages = client.get(
179
181
"account",
180
-
select=["accountid", "name"],
181
-
filter="statecode eq 0",
182
+
select=["accountid", "name"],# select is case-insensitive (automatically lowercased)
183
+
filter="statecode eq 0",# filter must use lowercase logical names (not transformed)
182
184
top=100
183
185
)
184
186
for page in pages:
185
187
for record in page:
186
188
print(record["name"])
189
+
190
+
# Query with navigation property expansion (case-sensitive!)
191
+
pages = client.get(
192
+
"account",
193
+
select=["name"],
194
+
expand=["primarycontactid"], # Navigation property names are case-sensitive
195
+
filter="statecode eq 0"# Column names must be lowercase logical names
0 commit comments