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
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
Built Distribution
Hashes for django_batteries-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d351f0e669091748ae8ae756ce89eb83eabb930a8f7340f1115331ed986e9d9 |
|
MD5 | d21654cf55ac7c05ec990bee844a8ef4 |
|
BLAKE2b-256 | 4d5e883d406d26ba481508f308833ba87258d2d34c69ed8823f7782aa20e8091 |