Creating and Managing Views
This guide covers how to create and manage views in Teable tables.
Creating Views
Basic View Creation
from teable import TeableClient, TeableConfig
# Initialize the client
client = TeableClient(TeableConfig(
api_url="https://your-teable-instance.com/api",
api_key="your-api-key"
))
# Create a grid view
view = client.views.create(
table_id="table_id",
name="My Grid View",
type="grid"
)
print(f"Created view: {view.view_id}")
View Configuration
Filtering Records
from teable import FilterOperator
# Create view with filters
view = client.views.create(
table_id="table_id",
name="Active Projects",
type="grid",
filter={
"operator": "and",
"conditions": [
{
"field": "Status",
"operator": FilterOperator.EQUALS,
"value": "Active"
},
{
"field": "Due Date",
"operator": FilterOperator.GREATER_THAN,
"value": "2023-01-01"
}
]
}
)
Sorting Records
from teable import SortDirection
# Create view with sorting
view = client.views.create(
table_id="table_id",
name="Projects by Priority",
type="grid",
sort=[
{
"field": "Priority",
"direction": SortDirection.DESCENDING
},
{
"field": "Due Date",
"direction": SortDirection.ASCENDING
}
]
)
Field Visibility
# Create view with specific visible fields
view = client.views.create(
table_id="table_id",
name="Simple View",
type="grid",
fields={
"visible": ["Name", "Status", "Due Date"],
"hidden": ["Internal Notes", "Created By"]
}
)
Managing Views
Getting Views
Updating Views
from teable import FilterOperator
# Update view configuration
view = client.views.update(
view_id="view_id",
name="Updated View Name",
filter={
"operator": "and",
"conditions": [
{
"field": "Status",
"operator": FilterOperator.IN,
"value": ["Active", "In Progress"]
}
]
}
)
Deleting Views
Working with View Data
Getting Records from a View
# Get records using view's configuration
records = client.records.get_records(
table_id="table_id",
view_id="view_id"
)
Pagination in Views
# Get paginated records from a view
records = client.records.get_records(
table_id="table_id",
view_id="view_id",
take=50, # Number of records to return
skip=100 # Number of records to skip
)
Best Practices
- View Organization
- Use clear, descriptive names
- Group related views together
- Consider user permissions
-
Document view purposes
-
Performance
- Optimize filters for performance
- Use appropriate pagination
- Consider data volume
-
Monitor view usage
-
User Experience
- Configure meaningful defaults
- Provide clear field visibility
- Consider sorting and filtering
-
Keep views organized
-
Maintenance
- Regular view audits
- Clean up unused views
- Update view configurations
- Monitor view usage