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:
  • value (str) – The saved view name to filter by.

  • exact (bool) – If True, match the exact name, otherwise use contains.

  • case_insensitive (bool) – If True, perform case-insensitive matching.

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:
  • field (str) – The field to sort by (e.g., “created”, “title”).

  • exact (bool) – If True, match the exact field name, otherwise use contains.

  • case_insensitive (bool) – If True, perform case-insensitive matching.

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:
  • min_size (int) – The minimum number of items per page (inclusive).

  • max_size (int) – The maximum number of items per page (inclusive).

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)