Working with lists & document libraries¶
A list is tabular data with custom columns; a document library is a list
that also acts as a drive. You can reach a library's content as DriveItems or
as list items with columns. These examples create throwaway lists and clean up.
Requires Sites.ReadWrite.All.
Create a list with columns¶
site = client.sites.root
lib = site.lists.add("Projects", ListTemplateType.genericList).execute_query()
lib.columns.add_text("Category").execute_query()
lib.columns.add_number("Budget").execute_query()
Items: create, read, update, delete¶
item = lib.items.add(Title="Alpha", Budget=50000).execute_query()
rows = lib.items.expand(["fields"]).get().execute_query()
item.set_property("fields", item.fields).update().execute_query()
Query efficiently¶
Filter, sort, select and page — server-side (see OData query parameters).
rows = (
lib.items.filter("fields/Budget gt 75000")
.expand(["fields"])
.select(["id", "fields/Budget"])
.top(20)
.get()
.execute_query()
)
A library as a drive¶
→ library.py · bulk: import_export.py