Skip to main content

DRF Queryset Mixin

Project description

Introduction

The DRF Queryset Mixin is a utility for optimizing database queries in Django REST Framework (DRF) viewsets. It provides a mixin called QuerysetMixin that allows you to easily optimize your queries by specifying deferred, selected related, and prefetched related fields.

Installation

pip install drf-queryset

Usage

Please follow the steps:

  1. Import the QuerysetMixin from drf_queryset.mixins.
  2. In your viewset class, inherit from QuerysetMixin.
  3. only_fields: List of fields to be only fetched in the query.
  4. defer_fields: List of fields to be deferred in the query.
  5. select_related_fields: List of fields to be select_related in the query.
  6. prefetch_related_fields: List of fields to be prefetch_related in the query.

Note: These fields are optional, you can use them depending upon your requirements of queryset and structure of the model fields.

Example

Here's a basic example of how you can use this package in your django rest framework application:

from drf_queryset.mixins import QuerysetMixin
from rest_framework.viewsets import ModelViewSet
from .models import YourModel
from .serializers import YourSerializer

class MyViewSet(QuerysetMixin, ModelViewSet):
    queryset = YourModel.objects.all()  # Replace with your queryset
    serializer_class = YourSerializer  # Replace with your serializer

    defer_fields = ['field1', 'field2']  # Add your defer fields here
    only_fields = ['field3', 'field4']  # Add your only fields here
    select_related_fields = ['related_field1', 'related_field2']  # Add your select_related fields here
    prefetch_related_fields = ['m2m_field', 'reverse_fk_field']  # Add your prefetch_related fields here

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drf-queryset-0.1.0.tar.gz (3.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drf_queryset-0.1.0-py3-none-any.whl (3.4 kB view details)

Uploaded Python 3

File details

Details for the file drf-queryset-0.1.0.tar.gz.

File metadata

  • Download URL: drf-queryset-0.1.0.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for drf-queryset-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ef6c5f540fbba8fb2952b495805c47f122647f58b8b0785219bf8883f4e8e5c4
MD5 4d82d2c32fd56851389931bb40ffea22
BLAKE2b-256 b251ad76585792169db30a88912e85b65039d8fa502f8a74a7bbd6a776447a77

See more details on using hashes here.

File details

Details for the file drf_queryset-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: drf_queryset-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for drf_queryset-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a5265ebb7456433ac77a57ba86e29d8ba42c94a9da63842229ac0d47534e1c51
MD5 2bdb3c5465755956ae0c1d4f930b3cd7
BLAKE2b-256 1e99d1719418ea5603e8d01aff4001bd19e0302e5e0cab03a7c8fb50f2a73ae1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page