Skip to content

Commit 599fd3b

Browse files
prevent premature query with no_autoflush to catch name exception
1 parent fa7aa2d commit 599fd3b

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

app/routes/category.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,14 @@ def put(self, data, id):
9797
if name := data.get("name"):
9898
category.name = name
9999

100-
if sc_ids := data.get("subcategories"):
101-
subcategories = Subcategory.query.filter(Subcategory.id.in_(sc_ids)).all()
102-
if len(subcategories) != len(sc_ids):
103-
abort(422, message="One or more subcategories not present")
104-
105-
category.subcategories.extend(subcategories)
100+
with db.session.no_autoflush:
101+
if sc_ids := data.get("subcategories"):
102+
subcategories = Subcategory.query.filter(
103+
Subcategory.id.in_(sc_ids)
104+
).all()
105+
if len(subcategories) != len(sc_ids):
106+
abort(422, message="One or more subcategories not present")
107+
category.subcategories.extend(subcategories)
106108

107109
try:
108110
db.session.commit()

0 commit comments

Comments
 (0)