Dufran / django-batteries

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Django-batteries

This package contains useful utilities for django/drf project

Models

Contains set of abstract models to enforce DRY principle for most common use cases

django_batteries.models.TimeStampedModel

  • created
  • modified

django_batteries.models.TimeFramedModel

  • start

  • end

    For time bound entities

django_batteries.models.DescriptionModel

  • description

django_batteries.models.TitleModel

  • title

django_batteries.models.TitleDescriptionModel

  • title
  • description

Fields

Monitor field

A DateTimeField that monitors another field on the same model and sets itself to the current date/time whenever the monitored field changes. use it like this in your models: class MyMode(models.Model):

title = models.Charfield(max_length=50)
title_changed = MonitorField(_('title changed'), monitor='title')

Mixins

django_batteries.mixins.ListSerializerMixin

Allow you to specify list_serializer_class that will be used only in list action

Paginators

django_batteries.paginators.ResultSetPagination

Paginator with page_size as query parameter for setting page size

django_batteries.paginators.SingleResultPaginator

Custom paginator class that returns not paginated(detail result) if qs result have only 1 item

Utils

django_batteries.utils.qs_admin_or_author

Return all objects if user is staff, otherwise return objects owned by user

About


Languages

Language:Python 95.8%Language:Makefile 4.2%