django-queryable-properties
1.12.1
  • Introduction
    • Examples in this documentation
  • Installation
    • Dependencies
  • Basics
    • Implementing queryable properties
      • Decorator-based approach
        • Using the decorator methods without actually decorating
      • Class-based approach
      • Common property arguments
      • When to use which approach
    • Enabling queryset operations
      • Defining managers on models
      • Creating managers/querysets on demand
      • Applying the extensions to existing managers/querysets on demand
  • Standard property features
    • Getter
      • Cached getter
        • Resetting a cached property
    • Setter
      • Setter cache behavior
    • Deleter
  • Filtering querysets
    • Implementation
      • One-for-all filter function/method
      • Lookup-based filter functions/methods
        • Boolean filters
    • Usage
  • Annotatable properties
    • Implementation
      • The AnnotationMixin and custom filter implementations
    • Automatic (non-selecting) annotation usage
      • Caution: the order of queryset operations still matters!
    • Selecting annotations
      • Queryable properties on related models
      • Querying properties for already loaded model instances
    • Regarding aggregate annotations across relations
  • Annotation-based properties
    • Implementation
      • About the AnnotationGetterMixin
  • Update queries
    • Implementation
    • Usage
    • Limitations
      • Related models
      • Expression-based update values
  • Common properties
    • Properties evaluating field values
      • Attribute paths
      • ValueCheckProperty
      • RangeCheckProperty
        • Range configuration
      • MappingProperty
    • Simple annotation-based properties
      • AnnotationProperty
      • AggregateProperty
      • RelatedExistenceCheckProperty
    • Properties dealing with model inheritance
      • Examples
      • InheritanceModelProperty
      • InheritanceObjectProperty
        • How it works
        • Usage in querysets
      • ContentTypeProperty
    • Subquery-based properties
      • Arguments providing subqueries
      • SubqueryFieldProperty
      • SubqueryExistenceCheckProperty
      • SubqueryObjectProperty
        • How it works
        • Filtering/Ordering in querysets
        • Selection in querysets
  • Admin integration
  • API
    • Module queryable_properties.properties
      • AggregateProperty
        • AggregateProperty.__init__()
      • AnnotationProperty
        • AnnotationProperty.__init__()
      • RelatedExistenceCheckProperty
        • RelatedExistenceCheckProperty.__init__()
      • QueryableProperty
        • QueryableProperty.cached
        • QueryableProperty.filter_requires_annotation
        • QueryableProperty.__init__()
        • QueryableProperty.setter_cache_behavior()
        • QueryableProperty.short_description
        • QueryableProperty.get_value()
        • QueryableProperty.get_filter()
      • queryable_property
        • queryable_property.get_value
        • queryable_property.get_filter
        • queryable_property.__init__()
        • queryable_property.getter()
        • queryable_property.setter()
        • queryable_property.filter()
        • queryable_property.annotater()
        • queryable_property.updater()
      • CACHE_RETURN_VALUE()
      • CACHE_VALUE()
      • CLEAR_CACHE()
      • DO_NOTHING()
      • ContentTypeProperty
        • ContentTypeProperty.__init__()
      • InheritanceModelProperty
        • InheritanceModelProperty.__init__()
      • InheritanceObjectProperty
        • InheritanceObjectProperty.__init__()
      • AnnotationGetterMixin
        • AnnotationGetterMixin.__init__()
        • AnnotationGetterMixin.get_value()
        • AnnotationGetterMixin.get_queryset()
        • AnnotationGetterMixin.get_queryset_for_object()
      • AnnotationMixin
        • AnnotationMixin.admin_order_field
        • AnnotationMixin.get_annotation()
        • AnnotationMixin.get_filter()
      • boolean_filter()
      • LookupFilterMixin
        • LookupFilterMixin.__init__()
        • LookupFilterMixin.lookup_filter()
        • LookupFilterMixin.boolean_filter()
        • LookupFilterMixin.get_filter()
      • lookup_filter()
      • SetterMixin
        • SetterMixin.set_value()
      • UpdateMixin
        • UpdateMixin.get_update_kwargs()
      • MappingProperty
        • MappingProperty.__init__()
      • RangeCheckProperty
        • RangeCheckProperty.__init__()
      • ValueCheckProperty
        • ValueCheckProperty.__init__()
      • SubqueryExistenceCheckProperty
        • SubqueryExistenceCheckProperty.__init__()
      • SubqueryFieldProperty
        • SubqueryFieldProperty.__init__()
      • SubqueryObjectProperty
        • SubqueryObjectProperty.__init__()
    • Module queryable_properties.admin
      • QueryablePropertiesAdmin
      • QueryablePropertiesAdminMixin
        • QueryablePropertiesAdminMixin.list_select_properties
        • QueryablePropertiesAdminMixin.get_list_select_properties()
        • QueryablePropertiesAdminMixin.process_queryable_property_filters()
      • QueryablePropertiesStackedInline
      • QueryablePropertiesTabularInline
    • Module queryable_properties.managers
      • QueryablePropertiesManager
        • QueryablePropertiesManager.get_for_model()
      • QueryablePropertiesManagerMixin
        • QueryablePropertiesManagerMixin.apply_to()
        • QueryablePropertiesManagerMixin.select_properties()
      • QueryablePropertiesQuerySet
        • QueryablePropertiesQuerySet.get_for_model()
      • QueryablePropertiesQuerySetMixin
        • QueryablePropertiesQuerySetMixin.apply_to()
        • QueryablePropertiesQuerySetMixin.init_injected_attrs()
        • QueryablePropertiesQuerySetMixin.select_properties()
    • Module queryable_properties.utils
      • get_queryable_property()
      • prefetch_queryable_properties()
      • reset_queryable_property()
    • Module queryable_properties.exceptions
      • QueryablePropertyDoesNotExist
      • QueryablePropertyError
  • Changelog
    • master (unreleased)
    • 1.12.1 (2025-12-04)
    • 1.12.0 (2025-08-07)
    • 1.11.0 (2025-05-13)
    • 1.10.1 (2025-04-02)
    • 1.10.0 (2025-01-28)
    • 1.9.3 (2024-08-08)
    • 1.9.2 (2024-03-06)
    • 1.9.1 (2024-01-09)
    • 1.9.0 (2023-12-05)
    • 1.8.5 (2023-11-13)
    • 1.8.4 (2023-04-05)
    • 1.8.3 (2022-08-06)
    • 1.8.2 (2022-06-08)
    • 1.8.1 (2022-03-05)
    • 1.8.0 (2021-12-07)
    • 1.7.1 (2021-11-01)
    • 1.7.0 (2021-07-05)
    • 1.6.1 (2021-04-19)
    • 1.6.0 (2021-04-06)
    • 1.5.0 (2020-12-30)
    • 1.4.1 (2020-10-21)
    • 1.4.0 (2020-10-17)
    • 1.3.1 (2020-08-04)
    • 1.3.0 (2020-05-22)
    • 1.2.1 (2019-12-03)
    • 1.2.0 (2019-10-21)
    • 1.1.0 (2019-06-23)
    • 1.0.2 (2019-06-02)
    • 1.0.1 (2019-05-11)
    • 1.0.0 (2018-12-31)
django-queryable-properties
  • Search


© Copyright 2025, Marcus Klöpfel.

Built with Sphinx using a theme provided by Read the Docs.