paperap.models.user.queryset module


METADATA:

File: queryset.py

Project: paperap

Created: 2025-03-04

Version: 0.0.5

Author: Jess Mann Email: jess@jmann.me

Copyright (c) 2025 Jess Mann


LAST MODIFIED:

2025-03-04 By Jess Mann

class paperap.models.user.queryset.UserQuerySet(resource, filters=None, _cache=None, _fetch_all=False, _next_url=None, _last_response=None, _iter=None, _urls_fetched=None)[source]

Bases: StandardQuerySet[User]

A lazy-loaded, chainable query interface for Paperless NGX resources.

BaseQuerySet provides pagination, filtering, and caching functionality similar to Django’s BaseQuerySet. It’s designed to be lazy - only fetching data when it’s actually needed.

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)

username(value, *, exact=True, case_insensitive=True)[source]

Filter users by username.

Parameters:
  • value (str) – The username to filter by

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

  • case_insensitive (bool) – If True, ignore case when matching

Return type:

Self

Returns:

Filtered UserQuerySet

email(value, *, exact=True, case_insensitive=True)[source]

Filter users by email.

Parameters:
  • value (str) – The email to filter by

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

  • case_insensitive (bool) – If True, ignore case when matching

Return type:

Self

Returns:

Filtered UserQuerySet

first_name(value, *, exact=True, case_insensitive=True)[source]

Filter users by first name.

Parameters:
  • value (str) – The first name to filter by

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

  • case_insensitive (bool) – If True, ignore case when matching

Return type:

Self

Returns:

Filtered UserQuerySet

last_name(value, *, exact=True, case_insensitive=True)[source]

Filter users by last name.

Parameters:
  • value (str) – The last name to filter by

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

  • case_insensitive (bool) – If True, ignore case when matching

Return type:

Self

Returns:

Filtered UserQuerySet

staff(value=True)[source]

Filter users by staff status.

Parameters:

value (bool) – If True, filter users that are staff

Return type:

Self

Returns:

Filtered UserQuerySet

active(value=True)[source]

Filter users by active status.

Parameters:

value (bool) – If True, filter users that are active

Return type:

Self

Returns:

Filtered UserQuerySet

superuser(value=True)[source]

Filter users by superuser status.

Parameters:

value (bool) – If True, filter users that are superusers

Return type:

Self

Returns:

Filtered UserQuerySet

in_group(value)[source]

Filter users by group.

Parameters:

value (int) – The group to filter by

Return type:

Self

Returns:

Filtered UserQuerySet

has_permission(value)[source]

Filter users by permission.

Parameters:

value (str) – The permission to filter by

Return type:

Self

Returns:

Filtered UserQuerySet

has_inherited_permission(value)[source]

Filter users by inherited permission.

Parameters:

value (str) – The inherited permission to filter by

Return type:

Self

Returns:

Filtered UserQuerySet

class paperap.models.user.queryset.GroupQuerySet(resource, filters=None, _cache=None, _fetch_all=False, _next_url=None, _last_response=None, _iter=None, _urls_fetched=None)[source]

Bases: StandardQuerySet[Group]

A lazy-loaded, chainable query interface for Paperless NGX resources.

BaseQuerySet provides pagination, filtering, and caching functionality similar to Django’s BaseQuerySet. It’s designed to be lazy - only fetching data when it’s actually needed.

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 groups by name.

Parameters:
  • value (str) – The name to filter by

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

  • case_insensitive (bool) – If True, ignore case when matching

Return type:

Self

Returns:

Filtered GroupQuerySet

has_permission(value)[source]

Filter groups by permission.

Parameters:

value (str) – The permission to filter by

Return type:

Self

Returns:

Filtered GroupQuerySet