We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 4933622 commit c5cc04cCopy full SHA for c5cc04c
1 file changed
fastapi_jsonapi/data_layers/sqla_orm.py
@@ -300,12 +300,15 @@ async def update_object(
300
has_updated = False
301
for field_name, new_value in new_data.items():
302
# TODO: get field alias (if present) and get attribute by alias (rarely used, but required)
303
- old_value = getattr(obj, field_name)
304
-
305
- if old_value != new_value:
306
- setattr(obj, field_name, new_value)
307
- has_updated = True
308
+ try:
+ old_value = getattr(obj, field_name)
+
+ if old_value != new_value:
+ setattr(obj, field_name, new_value)
+ has_updated = True
309
+ except AttributeError:
310
+ err_message = f'Can\'t find an attribute "{field_name}" in model {self.model.__name__}'
311
+ logging.warning(err_message)
312
try:
313
await self.session.commit()
314
except DBAPIError as e:
0 commit comments