paperap.models.saved_view.queryset module
Provide query functionality for Paperless-ngx saved views.
This module contains the SavedViewQuerySet class which extends StandardQuerySet to provide specialized filtering methods for saved views. It enables efficient querying of saved views based on their attributes such as name, visibility settings, sort options, and display preferences.
- class paperap.models.saved_view.queryset.SavedViewQuerySet(resource, filters=None, _cache=None, _fetch_all=False, _next_url=None, _last_response=None, _iter=None, _urls_fetched=None)[source]
Bases:
StandardQuerySet
[SavedView],HasOwner
QuerySet for Paperless-ngx saved views with specialized filtering methods.
Extends StandardQuerySet to provide saved view-specific filtering methods, including filtering by name, visibility settings, sort options, and display preferences. Allows for precise querying of saved views based on their attributes and configuration.
Examples
>>> # Get all saved views shown in the sidebar >>> sidebar_views = client.saved_views.filter().show_in_sidebar() >>> >>> # Get dashboard views with large page sizes >>> large_views = client.saved_views.filter().show_on_dashboard().page_size_over(50)
- Parameters:
resource (BaseResource[_Model, Self])
filters (dict[str, Any] | None)
_cache (list[_Model] | None)
_fetch_all (bool)
_next_url (str | None)
_last_response (ClientResponse)
_iter (Iterator[_Model] | None)
_urls_fetched (list[str] | None)
- name(value, *, exact=True, case_insensitive=True)[source]
Filter saved views by name.
- Parameters:
- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views with exact name match >>> tax_views = client.saved_views.filter().name("Tax Documents") >>> >>> # Find views containing "invoice" (case-insensitive) >>> invoice_views = client.saved_views.filter().name("invoice", exact=False)
- show_in_sidebar(show=True)[source]
Filter saved views by sidebar visibility.
- Parameters:
show (
bool
) – If True, get views shown in sidebar, otherwise those hidden.- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Get views shown in sidebar >>> sidebar_views = client.saved_views.filter().show_in_sidebar() >>> >>> # Get views not shown in sidebar >>> hidden_views = client.saved_views.filter().show_in_sidebar(False)
- show_on_dashboard(show=True)[source]
Filter saved views by dashboard visibility.
- Parameters:
show (
bool
) – If True, get views shown on dashboard, otherwise those hidden.- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Get views shown on dashboard >>> dashboard_views = client.saved_views.filter().show_on_dashboard() >>> >>> # Get views not shown on dashboard >>> non_dashboard_views = client.saved_views.filter().show_on_dashboard(False)
- sort_field(field, *, exact=True, case_insensitive=True)[source]
Filter saved views by sort field.
- Parameters:
- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views sorted by created date >>> date_sorted = client.saved_views.filter().sort_field("created") >>> >>> # Find views with sort fields containing "date" >>> date_fields = client.saved_views.filter().sort_field("date", exact=False)
- sort_reverse(reverse=True)[source]
Filter saved views by sort direction.
- Parameters:
reverse (
bool
) – If True, get views sorted in reverse (descending) order, if False, get views sorted in normal (ascending) order.- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Get views with descending sort >>> desc_views = client.saved_views.filter().sort_reverse() >>> >>> # Get views with ascending sort >>> asc_views = client.saved_views.filter().sort_reverse(False)
- page_size(size)[source]
Filter saved views by exact page size.
- Parameters:
size (
int
) – The exact number of items per page to filter by.- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views with 25 items per page >>> standard_views = client.saved_views.filter().page_size(25)
- page_size_under(size)[source]
Filter saved views by page size under a specified limit.
- Parameters:
size (
int
) – The maximum number of items per page (exclusive).- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views with fewer than 20 items per page >>> small_views = client.saved_views.filter().page_size_under(20)
- page_size_over(size)[source]
Filter saved views by page size over a specified limit.
- Parameters:
size (
int
) – The minimum number of items per page (exclusive).- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views with more than 50 items per page >>> large_views = client.saved_views.filter().page_size_over(50)
- page_size_between(min_size, max_size)[source]
Filter saved views by page size within a specified range.
- Parameters:
- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views with between 20 and 50 items per page >>> medium_views = client.saved_views.filter().page_size_between(20, 50)
- display_mode(mode)[source]
Filter saved views by display mode.
- Parameters:
mode (
str
) – The display mode to filter by (e.g., “list”, “grid”, “details”).- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views using list display mode >>> list_views = client.saved_views.filter().display_mode("list") >>> >>> # Find views using grid display mode >>> grid_views = client.saved_views.filter().display_mode("grid")
- user_can_change(can_change=True)[source]
Filter saved views by user change permissions.
- Parameters:
can_change (
bool
) – If True, get views that can be changed by the current user, if False, get views that cannot be changed by the current user.- Returns:
Filtered SavedViewQuerySet.
- Return type:
Self
Examples
>>> # Find views the current user can modify >>> editable_views = client.saved_views.filter().user_can_change() >>> >>> # Find views the current user cannot modify >>> readonly_views = client.saved_views.filter().user_can_change(False)