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.10.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ffbfb280c0f77362f2fcd80950068bd9bcc832f9ab2d39e7efa2cb31f7969a8 |
|
MD5 | c3973dfada2e9fb9d064bfafe60f977d |
|
BLAKE2b-256 | eaeaffe40fd0288c9e678b8f74991bb14d4e2e144eee3b0e47c670e06f1480b1 |
Hashes for django_sweet_utils-0.1.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 459b057b738707667490634e1826b2ac72df1bd5c24ac5207b2c1ec606271209 |
|
MD5 | 30ca9b847f8001203c25e98bbd7d8d92 |
|
BLAKE2b-256 | 8fad757f52fab3b73f11e62d956a6d04daa30bd26928c1cf584963202d1518b3 |