A little django code sugar.
Project description
Django sweet utils.
A little django code sugar.
Quickstart
-
Add
django_sweet_utils
to yourINSTALLED_APPS
setting like this:INSTALLED_APPS = [ ... 'django_sweet_utils', ... ]
-
Inherit your models from
django_sweet_utils.db.models.Model
:from django_sweet_utils.db.models import Model class MyModel(Model): ...
From now your models has the following fields:
uuid4
as object id;created_at
as object creation time;updated_at
as object last update time;is_deleted
as indicator that object is deleted or not;
Models that inherited from
django_sweet_utils.db.models.Model
can be filtered with simpleexisting()
property:from django_sweet_utils.db.models import Model class MyModel(Model): ... queryset = MyModel.objects.existing()
This returns queryset filtered by
is_deleted=False
Also, now you don't need to catch
DoesNotExist
error when attempting to get some object while it does not exist. Just useget_or_none()
instead ofget()
and query returns None if there is no object. -
Inherit your DRF API views from
django_sweet_utils.api.views
:from django_sweet_utils.api.views import UpdateAPIView, DestroyAPIView class MyUpdateView(UpdateAPIView): ... class MyDestroyView(DestroyAPIView): ...
From now your views supports
POST
request method instead ofPATCH
andDELETE
DestroyAPIView does not perform actual database deletion, but only marks file as deleted withis_deleted=True
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_sweet_utils-1.2.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7339efcb6b12bdcedfebdbf6ab6f54debc798f550b148ab3276e61ca1d2c90e4 |
|
MD5 | cc55ecc305ac04e5c155a80b041c8efd |
|
BLAKE2b-256 | 0793f141f186d4869dcf4b078d3a8a57d8c290651b2518c876f9f9f564da5d80 |