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.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f8f43d3a1d3cd9f56ad296785d8c4d1c2817514bb52329b2fa226595a4ab899 |
|
MD5 | 5082c4a608b18a486c3847ec2991e061 |
|
BLAKE2b-256 | b2fee5affe7508b4ed76aaa9787409e86ce2b5d2a16a6df18f36af82b91bd9d5 |