Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
6f7605c
45773 feat(fieldsets) backend init commit
pneumojoseph Apr 23, 2026
21797ab
45773 feat(fieldsets): add ordering parameter to the GET /templates/i…
pneumojoseph Apr 27, 2026
5496bf6
45773 feat(fieldsets): remove "order" field from fieldsets api
pneumojoseph Apr 27, 2026
03e6896
45773 feat(fieldsets): add an m2m relation betweet TaskTemplate, Kick…
pneumojoseph Apr 28, 2026
589f685
45773 feat(fieldsets): Passing the FieldSet.order property from the i…
pneumojoseph Apr 28, 2026
b81d55a
45773 feat(fieldsets): allow adding one same fieldset to different te…
pneumojoseph Apr 29, 2026
9ac5c6c
45773 fix(templates): correct removing fieldset from task and kickoff
pneumojoseph May 4, 2026
0fed34e
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
pneumojoseph May 4, 2026
060065e
45773 fix(migrtions): rename migrations
pneumojoseph May 5, 2026
2cc2b38
45773 fix(workflows): skip deleted fieldsets when workflow creates
pneumojoseph May 5, 2026
cd8ef70
45773 feat(templates): add fieldsets to GET /templates/id/fieldsets
pneumojoseph May 6, 2026
4fa0dec
45773 fix(templates): add fieldset order to the GET /templates API
pneumojoseph May 6, 2026
4e44624
45773 fix(templates): add fieldset to the GET /templates/public
pneumojoseph May 6, 2026
fcf7b98
45773 feat(fieldsets): not raise "sum_equal" exception for a blank an…
pneumojoseph May 8, 2026
1a7c0f3
45773 feat(workflow): GET /workflows?fields api now returns fieldset …
pneumojoseph May 8, 2026
d528e16
45773 feat(workflow): GET /workflows/fields api now returns fieldset …
pneumojoseph May 8, 2026
c53259f
45773 feat(fieldsets): update fieldsets API: add template_id to the r…
pneumojoseph May 12, 2026
be7df1d
45773 feat(conditions): add new PredicateOperator "SKIPPED"
pneumojoseph May 12, 2026
d5a1780
45773 fix(highlights): add kickoff fields and fieldsets to the workfl…
pneumojoseph May 12, 2026
6f5c3f8
45773 fix(templates): clone fieldsets with the template
pneumojoseph May 13, 2026
a4558f7
45773 fix(templates): clone fieldset and fieldset rule api_names
pneumojoseph May 13, 2026
4125cbe
45773 feat(conditions): add new PredicateOperator "COMPLETED_OR_SKIPPED"
pneumojoseph May 13, 2026
3736734
45773 fix(templates): allow add fieldset fields to the "workflow name…
pneumojoseph May 13, 2026
33618db
45773 fix(templates): allow add fieldset fields to the "workflow name…
pneumojoseph May 13, 2026
e5d253f
45773 fix(conditions): allow "skipped" and "completed_or_skipped" for…
pneumojoseph May 14, 2026
cfe8ed5
45773 fix(conditions): allow "skipped" and "completed_or_skipped" for…
pneumojoseph May 15, 2026
a3c6cb0
45773 feat(templates): add the fieldset order field to the GET /templ…
pneumojoseph May 15, 2026
435b1ec
45773 feat(templates): add the fieldset order field to the GET /templ…
pneumojoseph May 15, 2026
f14ce24
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
pneumojoseph May 18, 2026
8c8f090
45773 feat(conditions): replace predicate operator "completed" to "co…
pneumojoseph May 18, 2026
f34b880
45773 feat(conditions): replace predicate operator "completed" to "co…
pneumojoseph May 18, 2026
eb860fc
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
pneumojoseph May 28, 2026
9688ce4
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
pneumojoseph Jun 1, 2026
35aa107
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
pneumojoseph Jun 1, 2026
6ddf500
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
pneumojoseph Jun 3, 2026
ae15aed
refactor(migrations) rename fiedlsets migration file from 0253 to 0254
pneumojoseph Jun 9, 2026
ed74295
Merge branch 'backend/templates/47292__completed_or_skipped_predicate…
pneumojoseph Jun 9, 2026
5936b63
45773 feat(fieldsets): Add API for a shared fieldsets
pneumojoseph Jun 16, 2026
3ed44be
Merge branch 'master' of github.com:pneumaticapp/pneumaticworkflow in…
pneumojoseph Jun 16, 2026
b023b11
45773 fix(fieldsets): update fieldsets tests
pneumojoseph Jun 16, 2026
92fbd86
45773 fix(fieldsets): fix creation shared fiedlset
pneumojoseph Jun 18, 2026
899c9cf
45773 fix(fieldsets): remove trash file
pneumojoseph Jun 18, 2026
48bd6c8
fix(fieldsets): fix creation shared fiedlset. part 2
pneumojoseph Jun 19, 2026
314ba8a
45773 fix(migrations): reorder fieldset migrations
pneumojoseph Jun 23, 2026
8cb0454
45773 fix(models): add 0255 migration for "shared fieldsets"
pneumojoseph Jun 23, 2026
a05e37e
45773 feat(fieldsets): migrate firldsets command
pneumojoseph Jun 23, 2026
3605870
45773 fix(templates): create fieldset api_name from the request data
pneumojoseph Jun 29, 2026
4d063f8
45773 fix(templates): update tests for update fieldset template
pneumojoseph Jun 29, 2026
8f6d63a
45773 fix(migrations): split fieldset migrations
pneumojoseph Jun 30, 2026
566d75a
46129 fix(fieldsets): correct second update fieldset rule
pneumojoseph Jun 30, 2026
9b3c826
45773 feat(fieldset): combine similar rules using "or"
pneumojoseph Jun 30, 2026
ccd39c0
45773 fix(fieldsets): fix create second rule with the same type
pneumojoseph Jun 30, 2026
16d69c8
45773 fix(fieldsets): new validation message for grouped rules
pneumojoseph Jun 30, 2026
0b969af
45773 fix(migrations): move fieldsets migration to managenment command
pneumojoseph Jul 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ BACKEND_URL=http://localhost:8001
FRONTEND_URL=http://localhost
FORMS_URL=http://localhost/forms
ENVIRONMENT=Development
ENABLE_LOGGING=yes
ENABLE_LOGGING=no
DJANGO_DEBUG=yes
DJANGO_SETTINGS_MODULE=src.settings
DJANGO_SECRET_KEY=django_secret_django_secret_django_secret
Expand Down
2 changes: 1 addition & 1 deletion backend/src/accounts/locale/de/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/accounts/locale/django.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/accounts/locale/es/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/accounts/locale/fr/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/accounts/locale/ru/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
18 changes: 18 additions & 0 deletions backend/src/accounts/migrations/0144_auto_20260609_1910.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 2.2 on 2026-06-09 19:10

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('accounts', '0143_user_manager'),
]

operations = [
migrations.AlterField(
model_name='notification',
name='type',
field=models.CharField(choices=[('system', 'system'), ('comment', 'new comment'), ('mention', 'mention'), ('urgent', 'urgent'), ('not_urgent', 'not urgent'), ('overdue_task', 'overdue task'), ('reminder_task', 'reminder task'), ('snooze_workflow', 'snooze workflow'), ('resume_workflow', 'resume workflow'), ('due_date_changed', 'due date changed'), ('reaction', 'reaction'), ('complete_task', 'complete task'), ('complete_workflow', 'complete workflow')], max_length=24),
),
]
2 changes: 1 addition & 1 deletion backend/src/analysis/locale/de/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/analysis/locale/django.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/analysis/locale/es/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/analysis/locale/fr/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/analysis/locale/ru/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/authentication/locale/de/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/authentication/locale/django.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/authentication/locale/es/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/authentication/locale/fr/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/authentication/locale/ru/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/datasets/locale/de/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/datasets/locale/django.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/datasets/locale/es/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/datasets/locale/fr/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
2 changes: 1 addition & 1 deletion backend/src/datasets/locale/ru/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-04-07 11:48+0000\n"
"POT-Creation-Date: 2026-04-13 23:53+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down
8 changes: 4 additions & 4 deletions backend/src/datasets/services/dataset.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Any, Dict, List, Optional
from typing import Dict, List, Optional

from django.contrib.auth import get_user_model
from django.db import IntegrityError
Expand Down Expand Up @@ -37,7 +37,7 @@ def _create_instance(

def _create_related(
self,
items: Optional[List[Dict[str, Any]]] = None,
items: Optional[List[Dict]] = None,
**kwargs,
):
if items:
Expand Down Expand Up @@ -82,7 +82,7 @@ def delete(self) -> None:

def create_items(
self,
items_data: List[Dict[str, Any]],
items_data: List[Dict],
):
service = DataSetItemService(
user=self.user,
Expand All @@ -97,7 +97,7 @@ def create_items(

def update_items(
self,
items_data: List[Dict[str, Any]],
items_data: List[Dict],
):
""" All dataset items will be updated """

Expand Down
6 changes: 0 additions & 6 deletions backend/src/datasets/services/dataset_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@ def _create_instance(
) from ex
return self.instance

def _create_related(self, **kwargs):
pass

def partial_update(
self,
force_save: bool = True,
Expand All @@ -54,6 +51,3 @@ def partial_update(
message=MSG_DS_0002(value=self.instance.value),
) from ex
return self.instance

def delete(self) -> None:
self.instance.delete()
12 changes: 7 additions & 5 deletions backend/src/generics/base/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

from django.contrib.auth import get_user_model
from django.db import transaction
from django.db.models import Model

from src.authentication.enums import AuthTokenType

Expand All @@ -18,19 +17,19 @@ def __init__(
instance=None,
is_superuser: bool = False,
auth_type: AuthTokenType.LITERALS = AuthTokenType.USER,
account=None,
):
if user:
self.user = user
self.account = user.account
else:
self.user = None
self.account = None
self.account = account
self.is_superuser = is_superuser
self.auth_type = auth_type
self.instance = instance
self.update_fields = set()

@abstractmethod
def _create_related(
self,
**kwargs,
Expand All @@ -54,7 +53,7 @@ def _create_actions(
def create(
self,
**kwargs,
) -> Model:
):
with transaction.atomic():
self._create_instance(**kwargs)
self._create_related(**kwargs)
Expand All @@ -70,11 +69,14 @@ def partial_update(
self,
force_save=False,
**update_kwargs,
) -> Model:
):

self.update_fields.update(update_kwargs.keys())
for field_name, value in update_kwargs.items():
setattr(self.instance, field_name, value)
if force_save:
self.save()
return self.instance

def delete(self) -> None:
self.instance.delete()
Loading