Skip to main content

Set of most common utils for django/drf projects

Project description

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

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

django_batteries-0.0.3.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

django_batteries-0.0.3-py3-none-any.whl (5.6 kB view hashes)

Uploaded Python 3

Supported by

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