Skip to main content

Dj Easy view CRUD mixins

Makes your CRUD's even more smaller and customizable with dj easy views .

Installation

pip install djeasyview

Usage

For Designing API's

GET and POST api's

This mixin provides generic implementations for listing and creating resources.

Example:

from djeasyview import DjeasyListCreateView
from your_app.models import YourModel
from your_app.serializers import YourModelSerializer
from rest_framework.permissions import IsAuthenticated

class YourView(DjeasyListCreateView):
    model = YourModel
    list_serializer_class = YourModelSerializer
    create_serializer_class = YourModelSerializer
    serializer_class = YourModelSerializer
    queryset = YourModel
    select_related = ['key1' , 'key2']
    prefetch_related = ['key1' , 'key2']
    permission_classes = [IsAuthenticated]
    enable_cache = True
    cache_duration = 60
    query_params = {
        "name": "name",
        "related_field__id": "related_id",
        "related_field__name": "related_name",
    }
    pagination = True
  • with query params
e.g., localhost:8000/view/?name="anand"&related_id=1&related_name="anandraj"
  • with pagination
e.g., localhost:8000/view/?page_size=10&page_number=1"

GET , PUT , PATCH , DELETE api's

This mixin provides generic implementations for Retrive , updating and deleting resources.

from djeasyview import DjeasyRetrieveUpdateApiView
from your_app.models import YourModel
from your_app.serializers import YourModelSerializer
from rest_framework.permissions import IsAuthenticated

class YourView(DjeasyRetrieveUpdateApiView):
    model = YourModel
    list_serializer_class = YourModelSerializer
    create_serializer_class = YourModelSerializer
    serializer_class = YourModelSerializer
    queryset = YourModel
    select_related = ['key1' , 'key2']
    prefetch_related = ['key1' , 'key2']
    permission_classes = [IsAuthenticated]
    enable_cache = True
    cache_duration = 60

Customization:

  1. customize your get_queryset

        def get_queryset(self):
            super().get_queryset()
            return YourModel.objects.filter(**filter_conditions)
    
  2. customize your responses

        from rest_framework.response import Response
        def get_response(self, serializer_klass, queryset):
            super().get_response(serializer_klass, self.get_queryset())
            return Response(serializer_klass(queryset).data)
    

For Designing serializers

For creating new serializer instance

DjeasyModelSerializer.options(
    model_name=UserModel,
    queryset=UserModel.objects.all(),
    fields="__all__",
    many=True,
    display_fields={"id","name","email","password","profile"},
    related_fields={
        "profile": {
            "many": False,
            "read_only": True,
            "slug_field": "display_name",
        },
    },
    access_fields={"password": "read_only"},
    rename_fields = {"name" : "username"}
).data

Release files for djeasyview 1.0.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djeasyview 1.0.15
File Size Uploaded
djeasyview-1.0.15.tar.gz 7.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for djeasyview 1.0.15
File Interpreter ABI Platform
djeasyview-1.0.15-py3-none-any.whl Python 3 none any Details

Total release size: 14.4 kB

Release files / djeasyview-1.0.15.tar.gz

Download URL djeasyview-1.0.15.tar.gz
Size 7.2 kB
Tags Source
SHA-256 checksum
How to use checksums
664b40135488474fd523ba4f7a75f8f464f5c3d571b958631a11022cbb1655d2
BLAKE2b-256 checksum
How to use checksums
74d6fafa5a8bc41a133f95eca0958837705b8b7a906b11b9afddb937ec9956cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / djeasyview-1.0.15-py3-none-any.whl

Download URL djeasyview-1.0.15-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d427dd1947de65b58c320490194546d9a7747cab70d45a3ac43cde4ed6e5f5dc
BLAKE2b-256 checksum
How to use checksums
4e5f3218edcf997bf09614a87aef569a3a27ffeaa7ad3228ad6be9cac44da3f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

1.0.15 This release

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page