Dirty magic to generate automated DRF endpoints
Project description
django-lazydrf is a dirty magic applied to your models to generate automated Django Rest Framework endpoints.
Note that this is an experimental project. Use at your own risk and sadness.
TODO: Provide a complete README
Installation
pip install django-lazydrf
Usage
Define a Django model as follows:
from django.db import models from django.db.models import CharField from lazydrf.models import LDRF class Record(models.Model, metaclass=LDRF): """ Defines a key/value record model. """ #: Defines the key of the record. key = CharField(max_length=16, unique=True, blank=False, null=False) #: Defines the value of the record. value = CharField(max_length=64, blank=False, null=False, db_index=True) class Meta: """ Defines Django model metadata. """ app_label = "sample" class APIFields: """ Defines fields related API metadata. """ editable = ["key", "value"] ordering = ["key"] searching = ["key", "^value"] class APIFiltering: """ Defines filtering related API metadata. """ key = ["exact", "icontains", "startswith"] value = ["exact", "icontains", "startswith"] class APIViewset: pass #readonly = True
Register all lazydrf models for a given Django application to the usual DRF router, like:
from django.conf.urls import url, include from django.contrib import admin from rest_framework import routers from lazydrf.utils import register_app #: Defines the DRF router. Router = routers.DefaultRouter() ## Register model endpoints for the sample Django application: register_app("sample", Router) #: Defines URL patterns: urlpatterns = [ url(r'^admin/', admin.site.urls), url(r"^", include(Router.urls)), ]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-lazydrf-0.0.1.tar.gz
(7.9 kB
view details)
File details
Details for the file django-lazydrf-0.0.1.tar.gz
.
File metadata
- Download URL: django-lazydrf-0.0.1.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d90798f00379a2e5eac051b0454762ac057d334d353a3b7fef038db30371b926 |
|
MD5 | a4a3991d3a32f14eae0d141499478d0a |
|
BLAKE2b-256 | 7b70b652d8c28d2188eb7bbe60d2a4dcbe8548715f49b04ba4b64fb82e7c8a3c |