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.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d05b463ff9523cf954e0eb28c37b5b28a896813553c51292f607af21d814ffa0 |
|
MD5 | e04b4be230d1ed8d56cd4e20c147f668 |
|
BLAKE2b-256 | 940284942b36661ae18c72441b241bdd011c157bede90bdc70c62874e7be4c25 |