paperap.models.mixins.queryset module


METADATA:

File: queryset.py

Project: paperap

Created: 2025-03-05

Version: 0.0.9

Author: Jess Mann Email: jess@jmann.me

Copyright (c) 2025 Jess Mann


LAST MODIFIED:

2025-03-05 By Jess Mann

class paperap.models.mixins.queryset.QuerySetProtocol(*args, **kwargs)[source]

Bases: Protocol

Protocol for querysets.

Used primarily for type hinting.

all()[source]
Return type:

Self

filter(**kwargs)[source]
Parameters:

kwargs (Any)

Return type:

Self

filter_field_by_str(field, value, *, exact=True, case_insensitive=True)[source]
Parameters:
Return type:

Self

__init__(*args, **kwargs)
class paperap.models.mixins.queryset.HasDocumentCount(*args, **kwargs)[source]

Bases: QuerySetProtocol, Protocol

Mixin for querysets that have a document_count field.

document_count(count)[source]

Filter models by document count.

Parameters:

count (int) – The document count to filter by

Return type:

Self

Returns:

Filtered QuerySet

document_count_over(count)[source]

Filter models by document count greater than a value.

Parameters:

count (int) – The document count to filter by

Return type:

Self

Returns:

Filtered QuerySet

document_count_under(count)[source]

Filter models by document count less than a value.

Parameters:

count (int) – The document count to filter by

Return type:

Self

Returns:

Filtered QuerySet

document_count_between(lower, upper)[source]

Filter models by document count between two values.

Parameters:
  • lower (int) – The lower document count to filter by

  • upper (int) – The upper document count to filter by

Return type:

Self

Returns:

Filtered QuerySet

class paperap.models.mixins.queryset.HasOwner(*args, **kwargs)[source]

Bases: QuerySetProtocol, Protocol

Mixin for querysets that have an owner field.

owner(owner)[source]

Filter models by owner.

Parameters:

owner (int | list[int] | None) – The owner to filter by

Return type:

Self

Returns:

Filtered QuerySet

class paperap.models.mixins.queryset.HasStandard(*args, **kwargs)[source]

Bases: HasOwner, HasDocumentCount, Protocol

Mixin for querysets that have standard fields: owner, document_count, name, slug

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

Filter models where name is value

Parameters:
  • value (str) – The value to compare against

  • exact (bool) – Whether the comparison should be exact

  • case_sensitive (bool) – Whether the comparison should be case insensitive

  • case_insensitive (bool)

Return type:

Self

Returns:

Filtered QuerySet

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

Filter models where slug is value

Parameters:
  • value (str) – The value to compare against

  • exact (bool) – Whether the comparison should be exact

  • case_sensitive (bool) – Whether the comparison should be case insensitive

  • case_insensitive (bool)

Return type:

Self

Returns:

Filtered QuerySet