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-0.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 873827fcf77db7b9c4ecad2ce3fd2b0c471af75615b49c600e9dc2e7734aba9f |
|
MD5 | 2c4782ab67cf24acaa64e36b3c4d69a7 |
|
BLAKE2b-256 | 3f076e916fbb075012eb9d70d4c23de8548a4c8369c521bca1003b78e60dd914 |