Releases: Dufran/django-batteries
Releases · Dufran/django-batteries
v0.03
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
createdmodified
django_batteries.models.TimeFramedModel
-
start -
endFor time bound entities
django_batteries.models.DescriptionModel
description
django_batteries.models.TitleModel
title
django_batteries.models.TitleDescriptionModel
titledescription
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