Row Class
Row represents one Baserow row. It provides field access and thin
conveniences for updating, moving, and deleting that row.
Reading values
Indexing a row returns the value decoded by its Field. values exposes all
decoded values as an ordered, read-only mapping. raw_values exposes the
original values returned by Baserow, which is useful for forward compatibility
and inspecting unfamiliar field types. to_dict() returns a mutable,
top-level copy of the decoded values.
row = table.get_row(1)
print(row["Notes"])
print(row.values)
print(row.raw_values)
values = row.to_dict()
values["Notes"] = "This changes only the copied dictionary"
Rows do not stage mutations. Item assignment is unsupported, so raw, decoded, and pending state cannot silently diverge.
Updating and deleting
Pass an explicit mapping to update. update and move refresh the
existing object from the hosted response and return that same Row instance.
All three methods delegate to the corresponding singular Table operation.
updated_row = row.update({"Notes": "Updated on the server"})
# Place the row before row 4, or omit before_id to move it to the end.
moved_row = row.move(before_id=4)
moved_to_end = row.move()
deleted = row.delete()
delete returns True after Baserow accepts the deletion. A deleted Row
object is not marked locally; callers should discard it.
For multiple rows, use Table.update_rows with a list of mappings containing
explicit id values. Batch updates do not accept Row objects.
Migration from 0.1
Replace staged assignment and a no-argument update with one explicit update:
# 0.1
row["Notes"] = "Updated"
updated_row = row.update()
# 0.2
updated_row = row.update({"Notes": "Updated"})
Code that previously navigated RowValue objects should use the decoded
mapping, raw mapping, or the corresponding Field helper directly.